public GraphItemViewModel(GraphItemModel model, UserControl view) { Model = model; SubscribeModel(); Control = view; view.DataContext = this; InitializeCommands(); }
public void HighlightAsCheckouted(GraphItemModel m) { if (Checkouted != null) { Checkouted.Checkouted = false; } Checkouted = m; m.Checkouted = true; }
public void MouseUp(object sender, CrossStateData data, MouseButtonEventArgs e) { if (sender != null && sender == Aimed) { Program.GetInstance().Show(Aimed); } Aimed = null; MouseEnter(sender, data); }
public void AimHead() { GraphItemModel i = ZoomAndPanCanvasModel.Branches.Find(b => b.IsHead); if (i == null) { i = ZoomAndPanCanvasModel.Commits.Find(c => c.Checkouted); } Aim(i); }
public void Branch(GraphItemModel i, string name) { if (i != null) { CreateBranch(name, (dynamic)i); } else { Repository.CreateBranch(name); } }
public void OnAddBranch(GraphItemModel m) { var dialog = new InputDialog(); dialog.Validator = text => Logic.LibGitService.GetInstance().IsValidRefName(text); dialog.Text = "Enter name of new branch"; if (dialog.ShowDialog() == true) { LibGitService.GetInstance().Branch(m, dialog.ResponseText); } }
public void Checkout(GraphItemModel m) { if (m is BranchLabelModel) { Commands.Checkout(Repository, ((BranchLabelModel)m).Branch); } else { Commands.Checkout(Repository, ((CommitNodeModel)m).Commit); } }
public void Rebase(BranchLabelModel rebasing, BranchLabelModel rebased) { GraphItemModel checkouted = Graph.Checkouted; Checkout(rebasing); bool succes = LibGitService.Merge(rebased); if (succes) { Checkout(rebased); } }
public void Merge(BranchLabelModel merging, BranchLabelModel merged) { GraphItemModel checkouted = Graph.Checkouted; Checkout(merging); bool succes = LibGitService.Merge(merged); if (succes) { Checkout(checkouted); } }
void UnsubscribeEvents(GraphItemModel m) { m.MouseDown -= EventHandlerBatch.MouseDownEventHandler; m.MouseUp -= EventHandlerBatch.MouseUpEventHandler; m.MouseEnter -= EventHandlerBatch.MouseEnterEventHandler; m.MouseLeave -= EventHandlerBatch.MouseLeaveEventHandler; m.AddBranch -= EventHandlerBatch.AddBranchEventHandler; if (m is CommitNodeModel) { ((CommitNodeModel)m).ShowChanges -= EventHandlerBatch.ShowChangesEventHandler; } }
public void HighlightAsFocused(GraphItemModel model) { if (Focused != null) { Focused.Focused = false; } Focused = model; if (model != null) { model.Focused = true; } }
public GraphItemModel Next() { if (!Future.Any()) { throw new InvalidOperationException("ViewHistory has not any future."); } GraphItemModel n = History.First(); History.RemoveFirst(); Future.AddFirst(n); return(n); }
public void HighlightAsMarked(GraphItemModel model) { if (Marked != null) { Marked.Marked = false; } Marked = model; if (model != null) { model.Marked = true; } }
public GraphItemModel Previous() { if (!History.Any()) { throw new InvalidOperationException("ViewHistory has not any history."); } GraphItemModel n = Future.First(); Future.RemoveFirst(); History.AddFirst(n); return(n); }
void SubscribeEvents(GraphItemModel m) { m.MouseDown += EventHandlerBatch.MouseDownEventHandler; m.MouseUp += EventHandlerBatch.MouseUpEventHandler; m.MouseEnter += EventHandlerBatch.MouseEnterEventHandler; m.MouseLeave += EventHandlerBatch.MouseLeaveEventHandler; m.AddBranch += EventHandlerBatch.AddBranchEventHandler; if (m is CommitNodeModel) { ((CommitNodeModel)m).ShowChanges += EventHandlerBatch.ShowChangesEventHandler; } }
public void MouseDown(object sender, CrossStateData data, MouseButtonEventArgs e) { if (e.ChangedButton == MouseButton.Left) { if (sender == null) { Graph.GetInstance().CaptureMaouse(); ChangeState(MovingCanvas.GetInstance()); } else { Aimed = (GraphItemModel)sender; } } }
public void ImplicitPush(GraphItemModel checkouted) { Branch b1 = Repository.Head; string str = Repository.Head.Reference.ResolveToDirectReference().TargetIdentifier; if (checkouted is BranchLabelModel && ((BranchLabelModel)checkouted).Branch.Reference.CanonicalName == Repository.Head.CanonicalName) { return; } string descr = checkouted is BranchLabelModel ? "branch " + ((BranchLabelModel)checkouted).Name : "commit" + ((CommitNodeModel)checkouted).Commit.Sha; string message = "Implicit stash before checkout " + descr + "."; Stash s = Push(message); if (s != null) { LogStash(s.Reference.TargetIdentifier); } }
public void Mark(GraphItemModel i) { Graph.HighlightAsMarked(i); }
public void Aim(GraphItemModel i) { ResetTranslate(); AggresiveMove(new Vector(-i.Location.X, -i.Location.Y)); Program.GetInstance().Show(i); }
public void ShowItem(GraphItemModel m) { MainTabModel.Shown = m; }
public void EnsureAbsence(GraphItemModel n) { History.Remove(n); Future.Remove(n); }
public void Branch(GraphItemModel i, string name) { LibGitService.Branch(i, name); }
public void Checkout(GraphItemModel m) { Program.GetInstance().StashingManager.ImplicitPush(m); LibGitService.Checkout(m); Graph.HighlightAsCheckouted(m); }
public void WindowMouseUp(object sender, CrossStateData data, MouseButtonEventArgs e) { Aimed = null; MouseEnter(sender, data); }
void CheckoutMarked() { GraphItemModel marked = TabManager.MainTabModel.Shown; CommitManager.Checkout(marked); }
void ChangeState(IProgramState state) { Aimed = null; Program.ChangeState(state); }
public void Show(GraphItemModel item) { CommitManager.Mark(item); TabManager.ShowItem(item); ActionsManager.OnMarkedItem(item != null); }
public void Add(GraphItemModel node) { Future.Clear(); History.AddFirst(node); }