public override void InitElements() { base.InitElements(); Window.SetBackground(45, 45, 45); Window.SetHeight(300); Window.SetWidth(250); //Window.IsLocked = true; var title = UiElements.GetDialogWindowTitleBar("Check Path Existence"); var layout = UiElements.GetDialogWindowLayout(title.GetHeight()); _info.SetText("Check if there is path between vertices:"); _check.SetShadow(5, 0, 4, Color.FromArgb(150, 0, 0, 0)); _check.EventMouseClick += OnCheckButtonClick; _check.SetWidth(100); Window.AddItems(title, layout); layout.AddItems( _info, _firstVertex, _secondVertex, _check, _output); title.GetCloseButton().EventMouseClick = (sender, args) => { Close(); }; }
public override void InitElements() { base.InitElements(); Window.SetBackground(45, 45, 45); Window.SetHeight(250); Window.SetWidth(450); var title = UiElements.GetDialogWindowTitleBar("Find Shortest Path"); var layout = UiElements.GetDialogWindowLayout(title.GetHeight()); _info.SetText("Find SST in undirected graph made from generated one:"); _prim.EventMouseClick += OnPrimButtonClick; _kruskal.EventMouseClick += OnKruskalButtonClick; _total.EventMouseClick += OnTotalButtonClick; Window.AddItems(title, layout); layout.AddItems( _info, _prim, _kruskal, _total, _output); title.GetCloseButton().EventMouseClick = (sender, args) => { Close(); }; }
public override void InitElements() { base.InitElements(); Window.SetBackground(45, 45, 45); Window.SetHeight(250); Window.SetWidth(400); var title = UiElements.GetDialogWindowTitleBar("Decode Prufer's Code"); var layout = UiElements.GetDialogWindowLayout(title.GetHeight()); layout.SetSpacing(vertical: 15); _info.SetText("Enter Prufer's code or 'Empty':"); _generate.EventMouseClick += OnGenerateButtonClick; Window.AddItems(title, layout); layout.AddItems( _info, _pruferCode, _generate, _output); title.GetCloseButton().EventMouseClick = (sender, args) => { Close(); }; }
public override void InitElements() { base.InitElements(); Window.SetBackground(45, 45, 45); Window.SetHeight(450); Window.SetWidth(400); //Window.IsLocked = true; var title = UiElements.GetDialogWindowTitleBar("Generate Graph"); var layout = UiElements.GetDialogWindowLayout(title.GetHeight()); _info.SetText("Enter Graph Parameters:"); _verticesInfo.SetText($"Vertices: 2 <= x <= {_maxVertices}"); _densityInfo.SetText("Density: 0 <= x <= 1 "); _weightInfo.SetText("-100 <= Min Weight <= Max Weight <= 100"); _generate.SetShadow(5, 0, 4, Color.FromArgb(150, 0, 0, 0)); _generate.EventMouseClick += OnGenerateButtonClick; Window.AddItems(title, layout); layout.AddItems( _info, _verticesInfo, _densityInfo, _weightInfo, _verticesAmount, _density, _minWeight, _maxWeight, _errorOutput, _generate); title.GetCloseButton().EventMouseClick = (sender, args) => { Close(); }; }
public override void InitElements() { base.InitElements(); Window.SetBackground(45, 45, 45); Window.SetHeight(300); Window.SetWidth(250); var title = UiElements.GetDialogWindowTitleBar("Find Shortest Path"); var layout = UiElements.GetDialogWindowLayout(title.GetHeight()); _info.SetText("Enter vertices to find path between:"); _dijkstra.EventMouseClick += OnDijkstraButtonClick; _bellmanFord.EventMouseClick += OnBellmanFordButtonClick; _floyd.EventMouseClick += OnFloydButtonClick; Window.AddItems(title, layout); layout.AddItems( _info, _firstVertex, _secondVertex, _dijkstra, _bellmanFord, _floyd, _output); title.GetCloseButton().EventMouseClick = (sender, args) => { Close(); }; }
private void ReloadSubRepoItems() { UiElements.Clear(); var subRepo = _repository.SubRepositories.First(x => x.Name == _selectedSubRepository); var items = subRepo.Ids.Select(x => new UiElementViewModel(subRepo, subRepo[x], _areaPicker, _window, _game)); foreach (var item in items) { UiElements.Add(item); } }
public override void InitWindow() { SetParameters( nameof(GraphView), nameof(GraphView), 800, 800, false); SetMinSize(1000, 1000); SetBackground(45, 45, 45); var title = UiElements.GetTitleBar(); var mainLayout = UiElements.GetMainLayout(); var buttonsList = UiElements.GetButtonsList(); _toolbar = UiElements.GetToolbar(); var leftLayoutItem = UiElements.GetLeftLayoutItem(); var tabView = UiElements.GetTabView(); var logTextArea = UiElements.GetLogTextArea(); _imageArea = new ImageItem( new Bitmap( "/home/nick/RiderProjects/DiscreteMaths/Graphs/Graphs/notGenerated.png")); _imageArea.SetMaxWidth(1024); _imageArea.SetMaxHeight(1024); _imageArea.KeepAspectRatio(true); _tabView = tabView; _buttonsList = buttonsList; _logTextArea = logTextArea; _logTextArea.SetText("Log Journal" + Environment.NewLine); _logTextArea.SetFont(new Font(FontFamily.GenericMonospace, 14, FontStyle.Bold)); AddItems(title, mainLayout); mainLayout.AssignLeftItem(leftLayoutItem); mainLayout.AssignRightItem(buttonsList); leftLayoutItem.AddItems(tabView, _toolbar); tabView.AddTabs(new Tab("Graph"), new Tab("Log")); tabView.AddItemToTabByName("Log", _logTextArea); tabView.AddItemToTabByName("Graph", _imageArea); PopulateButtonsList(); PopulateToolbar(); }
private void PopulateToolbar() { var resetGraph = UiElements.GetButton("Reset Graph"); resetGraph.SetAlignment(Style.GetButtonCoreStyle().Alignment); resetGraph.EventMouseClick += (sender, args) => { if (_presenter.IsGraphGenerated()) { _presenter.ResetGraph(); _presenter.SaveGraph(); } else { ShowPopUp("Generate graph first"); } }; _toolbar.AddItems(resetGraph); }
public override void InitElements() { base.InitElements(); Window.SetBackground(45, 45, 45); Window.SetHeight(_vertices * 16 + 500); Window.SetWidth(_vertices * 16 + 300); //Window.IsLocked = true; var title = UiElements.GetDialogWindowTitleBar("Shimbel's Algorithm"); var layout = UiElements.GetDialogWindowLayout(title.GetHeight()); var buttonsLayout = UiElements.GetHorizontalButtonLayout(); _info.SetText("Compute paths of given length:"); _info2.SetText("Edges: 1 <= x <= Graph Vertices"); _shortestButton.SetShadow(5, 0, 4, Color.FromArgb(150, 0, 0, 0)); _shortestButton.EventMouseClick += OnShortestButtonClick; _shortestButton.SetWidth(100); _longestButton.SetShadow(5, 0, 4, Color.FromArgb(150, 0, 0, 0)); _longestButton.EventMouseClick += OnLongestButtonClick; _longestButton.SetWidth(100); _output.SetPadding(top: 12); _output.SetTextAlignment(ItemAlignment.Top, ItemAlignment.HCenter); Window.AddItems(title, layout); layout.AddItems( _info, _info2, _edgesAmount, buttonsLayout, _output); buttonsLayout.AddItems(_shortestButton, _longestButton); title.GetCloseButton().EventMouseClick = (sender, args) => { Close(); }; }
public ViewModel() { UiElements = new UiElements(); EncryptCommand = new DelegateCommand(Encript); DecryptCommand = new DelegateCommand(Decript); }
/// <summary> /// Class XtrmAddons Net Application Serializable User Interface Constructor. /// </summary> public UserInterface() { Parameters = new ElementBaseObjects(); Controls = new UiElements(); }
protected override UIElement GetChild() { return(UiElements == null ? null : (UiElements.FirstOrDefault(TestChild) ?? UiElements.FirstOrDefault(x => x.GetValue(WhenProperty) == null))); }
private void PopulateButtonsList() { var generateButton = UiElements.GetButton("Generate Graph"); generateButton.EventMouseClick += (sender, args) => { var dialog = new GenerateGraphDialog(_presenter.MaxVertices); dialog.GotCorrectInput += OnGotGraphGenerationInput; dialog.Show(this); }; var shimbelButton = UiElements.GetButton("Shimbel's Algorithm"); shimbelButton.EventMouseClick += (sender, args) => { if (_presenter.IsGraphGenerated()) { var dialog = new ShimbelDialog(_presenter.Vertices); dialog.GotCorrectShimbel += OnGotShimbelInput; dialog.Show(this); } else { ShowPopUp("Generate graph first"); } }; var checkReachButton = UiElements.GetButton("Check Path Existence"); checkReachButton.EventMouseClick += (sender, args) => { if (_presenter.IsGraphGenerated()) { var dialog = new CheckPathExistenceDialog(_presenter.Vertices); dialog.GotCorrectCheckPath += OnGotCheckPathInput; dialog.Show(this); } else { ShowPopUp("Generate graph first"); } }; var shortestPathButton = UiElements.GetButton("Find Shortest Path"); shortestPathButton.EventMouseClick += (sender, args) => { if (_presenter.IsGraphGenerated()) { var dialog = new ShortestPathDialog(_presenter.Vertices); dialog.GotCorrectFindPath += OnGotFindPathInput; dialog.Show(this); } else { ShowPopUp("Generate graph first"); } }; var spanningTreesButton = UiElements.GetButton("Find Spanning Trees"); spanningTreesButton.EventMouseClick += (sender, args) => { if (_presenter.IsGraphGenerated()) { var dialog = new MinimumSpanningTreeDialog(); dialog.GotPrimRequest += OnGotPrimRequest; dialog.GotKruskalRequest += OnGotKruskalRequest; dialog.GotTotalRequest += OnGotTotalRequest; dialog.Show(this); } else { ShowPopUp("Generate graph first"); } }; var getPruferCode = UiElements.GetButton("Get Prufer Code for SST"); getPruferCode.EventMouseClick += (sender, args) => { if (_presenter.IsGraphGenerated()) { if (_presenter.IsSstGenerated()) { ShowPopUp(_presenter.OnGetPruferCall()); } else { ShowPopUp("Generate SST first"); } } else { ShowPopUp("Generate graph first"); } }; var setPruferCode = UiElements.GetButton("Graph from Prufer Code"); setPruferCode.EventMouseClick += (sender, args) => { var dialog = new PruferCodeDialog(); dialog.GotCorrectPruferInput += OnGotPruferInput; dialog.Show(this); }; var generateFlowNetwork = UiElements.GetButton("Flow network from this"); generateFlowNetwork.EventMouseClick += (sender, args) => { if (_presenter.IsGraphGenerated()) { //_presenter.SaveGraph(); _presenter.OnCreateFlowNetworkCall(); } else { ShowPopUp("Generate graph first"); } }; var findMaxFlow = UiElements.GetButton("Find max flow"); findMaxFlow.EventMouseClick += (sender, args) => { if (_presenter.IsGraphGenerated()) { if (_presenter.IsFlowNetworkGenerated()) { ShowPopUp("Max Flow: " + _presenter.OnMaxFlowCall().ToString()); } else { ShowPopUp("Modify graph into flow network"); } } else { ShowPopUp("Generate graph first"); } }; var findMinCostFlow = UiElements.GetButton("Find min cost flow"); findMinCostFlow.EventMouseClick += (sender, args) => { if (_presenter.IsGraphGenerated()) { if (_presenter.IsFlowNetworkGenerated()) { ShowPopUp("Min Cost (2 * Max Flow / 3): " + _presenter.OnMinCostFlowCall().ToString()); } else { ShowPopUp("Modify graph into flow network"); } } else { ShowPopUp("Generate graph first"); } }; var makeEulerian = UiElements.GetButton("Make Eulerian"); makeEulerian.EventMouseClick += (sender, args) => { if (_presenter.IsGraphGenerated()) { if (!_presenter.WasModified()) { _presenter.OnMakeEulerianCall(); } else { ShowPopUp("Reset modified graph"); } } else { ShowPopUp("Generate graph first"); } }; var makeHamiltonian = UiElements.GetButton("Make Hamiltonian"); makeHamiltonian.EventMouseClick += (sender, args) => { if (_presenter.IsGraphGenerated()) { if (!_presenter.WasModified()) { _presenter.OnMakeHamiltonianCall(); } else { ShowPopUp("Reset modified graph"); } } else { ShowPopUp("Generate graph first"); } }; var findEulerianCycle = UiElements.GetButton("Find Eulerian Cycle"); findEulerianCycle.EventMouseClick += (sender, args) => { if (_presenter.IsGraphGenerated()) { if (_presenter.WasModified()) { if (_presenter.IsEulerian() || _presenter.Vertices == 2) { _presenter.OnFindEulerianCycleCall(); } else { ShowPopUp("Graph is not eulerian"); } } else { ShowPopUp("Create eulerian graph first"); } } else { ShowPopUp("Generate graph first"); } }; var findHamiltonianCycle = UiElements.GetButton("Find Hamiltonian Cycle"); findHamiltonianCycle.EventMouseClick += (sender, args) => { if (_presenter.IsGraphGenerated()) { if (_presenter.WasModified()) { if (_presenter.IsHamiltonian()) { if (_presenter.Vertices <= 8) { _presenter.OnFindHamiltonianCycleCall(); } else { ShowPopUp("There should be <= 7 vertices"); } } else { ShowPopUp("Graph is not hamiltonian"); } } else { ShowPopUp("Create hamiltonian graph first"); } } else { ShowPopUp("Generate graph first"); } }; _buttonsList.AddItems( generateButton, shimbelButton, checkReachButton, shortestPathButton, spanningTreesButton, getPruferCode, setPruferCode, generateFlowNetwork, findMaxFlow, findMinCostFlow, makeEulerian, makeHamiltonian, findEulerianCycle, findHamiltonianCycle); }