/// <summary> /// Constructs a <see cref="MainTitleIconControlVWG"/> /// </summary> public MainTitleIconControlVWG(IControlFactory controlFactory) { if (controlFactory == null) throw new ArgumentNullException("controlFactory"); _controlFactory = controlFactory; _panel = _controlFactory.CreatePanel(); ((PanelVWG)_panel).BackgroundImage = @"Images.headergradient.png"; _panel.BackColor = Color.Transparent; _panel.Dock = Habanero.Faces.Base.DockStyle.Top; _panel.Height = 23; this.Size = new Size(_panel.Width,_panel.Height); _icon = _controlFactory.CreateLabel(); ((LabelVWG)_icon).BackgroundImage = ""; _icon.BackColor = Color.Transparent; ((LabelVWG)_icon).BackgroundImageLayout = ImageLayout.Center; _icon.Dock = Habanero.Faces.Base.DockStyle.Left; _icon.Size = new Size(20, 20); _title = _controlFactory.CreateLabel(); _title.Font = new Font("Verdana", 10); _title.Dock = Habanero.Faces.Base.DockStyle.Fill; _title.BackColor = Color.Transparent; _title.TextAlign = ContentAlignment.MiddleLeft; _title.ForeColor = Color.White; _panel.Controls.Add(_title); _panel.Controls.Add(_icon); this.Dock = DockStyleVWG.GetDockStyle(DockStyle.Top); this.Controls.Add((PanelVWG)_panel); this.Height = 23; }
/// <summary> /// Constructs a <see cref="MainTitleIconControlWin"/> /// </summary> public MainTitleIconControlWin(IControlFactory controlFactory) { if (controlFactory == null) throw new ArgumentNullException("controlFactory"); _controlFactory = controlFactory; _panel = _controlFactory.CreatePanel(); ((PanelWin)_panel).BackgroundImage = CollapsiblePanelResource.headergradient; _panel.BackColor = Color.Transparent; _panel.Dock = Habanero.Faces.Base.DockStyle.Top; _panel.Height = 23; _icon = _controlFactory.CreateLabel(); ((LabelWin)_icon).BackgroundImage = CollapsiblePanelResource.headergradient; _icon.BackColor = Color.Transparent; ((LabelWin)_icon).BackgroundImageLayout = ImageLayout.Center; _icon.Dock = Habanero.Faces.Base.DockStyle.Left; _icon.Size = new Size(20, 20); _title = _controlFactory.CreateLabel(); _title.Dock = Habanero.Faces.Base.DockStyle.Fill; _title.BackColor = Color.Transparent; _title.TextAlign = ContentAlignment.MiddleLeft; _title.ForeColor = Color.White; _panel.Controls.Add(_title); _panel.Controls.Add(_icon); _panel.MaximumSize = new Size(2000, 23); this.Dock = DockStyleWin.GetDockStyle(DockStyle.Top); this.Controls.Add((PanelWin)_panel); this.Height = 23; }
///<summary> /// Constructor for the <see cref="HelpAboutBoxManager"/> ///</summary> ///<param name="controlFactory"></param> ///<param name="formHabanero"></param> ///<param name="programName"></param> ///<param name="producedForName"></param> ///<param name="producedByName"></param> ///<param name="versionNumber"></param> public HelpAboutBoxManager(IControlFactory controlFactory, IFormHabanero formHabanero, string programName, string producedForName, string producedByName, string versionNumber) { _FormHabanero = formHabanero; _mainPanel = controlFactory.CreatePanel(); GridLayoutManager mainPanelManager = new GridLayoutManager(_mainPanel, controlFactory); mainPanelManager.SetGridSize(4, 2); mainPanelManager.FixAllRowsBasedOnContents(); mainPanelManager.FixColumnBasedOnContents(0); mainPanelManager.FixColumnBasedOnContents(1); mainPanelManager.AddControl(controlFactory.CreateLabel("Programme Name:", false)); mainPanelManager.AddControl(controlFactory.CreateLabel(programName, false)); mainPanelManager.AddControl(controlFactory.CreateLabel("Produced For:", false)); mainPanelManager.AddControl(controlFactory.CreateLabel(producedForName, false)); mainPanelManager.AddControl(controlFactory.CreateLabel("Produced By:", false)); mainPanelManager.AddControl(controlFactory.CreateLabel(producedByName, false)); mainPanelManager.AddControl(controlFactory.CreateLabel("Version:", false)); mainPanelManager.AddControl(controlFactory.CreateLabel(versionNumber, false)); IButtonGroupControl buttons = controlFactory.CreateButtonGroupControl(); buttons.AddButton("OK", new EventHandler(OKButtonClickHandler)); BorderLayoutManager manager = controlFactory.CreateBorderLayoutManager(formHabanero); manager.AddControl(_mainPanel, BorderLayoutManager.Position.Centre); manager.AddControl(buttons, BorderLayoutManager.Position.South); formHabanero.Width = 300; formHabanero.Height = 200; formHabanero.Text = "About"; }
private void onSaveGameLoaded() { _panel = _game.Find<IPanel>(_panel.ID); _inventoryItemIcon = _game.Find<IObject>(_inventoryItemIcon.ID); _player = _game.State.Player; _lastInventoryItem = null; }
public void FillPanel(IPanel panel) { if (panel.fields.Count() > 0) { // editable Panel, fetch the DataRow, simple controls var columns = panel.fields.Select(x => x.column); DataTable table = fetchAll("SELECT ", columns, " FROM ", panel.tableName, "WHERE", new ConditionMySql(panel.PK)); if (table.Rows.Count > 1) throw new Exception("PK not unique"); if (table.Rows.Count == 0) throw new Exception("No data fullfill the condition"); DataRow row = table.Rows[0]; foreach (IField field in panel.fields) { field.value = row[field.column]; } } foreach (IControl c in panel.controls) { if (c.data.Rows.Count == 0) { List<string> columns = new List<string>(); foreach (DataColumn col in c.data.Columns) columns.Add(col.ColumnName); c.data = fetchAll("SELECT ", columns, " FROM ", panel.tableName, "WHERE", new ConditionMySql(panel.PK)); } if (c.data.Rows.Count == 0) throw new Exception("No data fullfill the condition"); } foreach (IPanel p in panel.children) FillPanel(p); }
///<summary> ///</summary> ///<param name="controlFactory"></param> public FilterControlVWG(IControlFactory controlFactory) { this.Height = 50; _controlFactory = controlFactory; _groupBox = _controlFactory.CreateGroupBox(); //_groupBox.Anchor = AnchorStyles.Right | AnchorStyles.Top | AnchorStyles.Left | AnchorStyles.Bottom; //_groupBox.Top = 0; //_groupBox.Left = 0; //_groupBox.Width = this.Width; //_groupBox.Height = this.Height; //this.Controls.Add((Control) _groupBox); _controlFactory.CreateBorderLayoutManager(this).AddControl(_groupBox, BorderLayoutManager.Position.Centre); _groupBox.Text = "Filter the Grid"; BorderLayoutManager layoutManager = controlFactory.CreateBorderLayoutManager(_groupBox); layoutManager.BorderSize = 20; IPanel filterButtonPanel = controlFactory.CreatePanel(); filterButtonPanel.Height = 50; filterButtonPanel.Width = 110; CreateFilterButtons(filterButtonPanel); layoutManager.AddControl(filterButtonPanel, BorderLayoutManager.Position.West); _filterPanel = controlFactory.CreatePanel(); _filterPanel.Width = this.Width; layoutManager.AddControl(_filterPanel, BorderLayoutManager.Position.Centre); _filterControlManager = new FilterControlManager(controlFactory, new FlowLayoutManager(_filterPanel, controlFactory)); }
/// <summary> /// Constructor to initialise a new instance of the class /// </summary> /// <param name="panel">The panel control being managed</param> /// <param name="mappers">The control mappers collection</param> /// <param name="uiDefName">The UI definition name to use</param> /// <param name="firstControlToFocus">The first control to focus on</param> public PanelFactoryInfo(IPanel panel, IControlMapperCollection mappers, string uiDefName, IControlHabanero firstControlToFocus) { _panel = panel; _mappers = mappers; _firstControlToFocus = firstControlToFocus; _uiDefName = uiDefName; _formGrids = new Dictionary<string, IEditableGridControl>(); }
public void _initControl() { PlatformSingleton platformSingleton_ = __singleton<PlatformSingleton>._instance(); string panelUrl_ = @"uid://program.optimal.window:window.optimal.Panel"; string cprojectUrl_ = @"rid://program.optimal.cprojectPropertyUrl"; mPanel = platformSingleton_._loadHeadstream<IPanel>(panelUrl_, cprojectUrl_); mApplicationTypeComboBox = mPanel._childControl("comboBox1") as IComboBox; mApplicationTypeComboBox.m_tSelectTextSlot += this._getApplicationTypeStr; }
public void updatePanel(IPanel panel, DataRow values) { StartTransaction(); int affected = query("UPDATE " + panel.tableName + " SET ", values, " WHERE ", panel.PK); if(affected > 1){ RollbackTransaction(); throw new Exception("Panel PK not unique, trying to update more rows at a time!"); } CommitTransaction(); }
public void deletePanel(IPanel panel) { StartTransaction(); int affected = query("DELETE FROM `" + panel.tableName + "` WHERE", panel.PK); if (affected > 1) { RollbackTransaction(); throw new Exception("Panel PK not unique, trying to delete more rows at a time!"); } CommitTransaction(); }
protected void InitSelectedIndexes(IPanel panel) { if (panel == null) throw new ArgumentNullException("panel"); // nothing if (!panel.SelectionExists) return; // keep selected indexes _SelectedIndexes = panel.SelectedIndexes(); }
protected void InitSelectedNames(IPanel panel) { if (panel == null) throw new ArgumentNullException("panel"); // nothing if (!panel.SelectionExists) return; // copy selected names var files = panel.SelectedList; _SelectedNames = new string[files.Count]; for (int i = files.Count; --i >= 0; ) _SelectedNames[i] = files[i].Name; }
public MainWindow() { InitializeComponent(); _panel = new Panel(); _panel.Activate(); _panel.MaxNotifications = 5; _panel.MaxWidth = 300; _panel.MinWidth = 150; //_panel.InformationColor = Brushes.Green; //_panel.WarningColor = Brushes.Green; //_panel.ErrorColor = Brushes.Magenta; _panel.Parent = this; _panel.StartupLocation = StartupLocation.TopRight; }
/// <summary> /// Initialises the WizardControl with the IWizardController. No logic is performed other than storing the wizard controller. /// </summary> /// <param name="wizardController"></param> /// <param name="controlFactory">The control factory that this control will use to create a button</param> public WizardControlWin(IWizardController wizardController, IControlFactory controlFactory) { if (wizardController == null) throw new ArgumentNullException("wizardController"); if (controlFactory == null) throw new ArgumentNullException("controlFactory"); _wizardController = wizardController; ControlFactory = controlFactory; _wizardControlManager = new WizardControlManager(this); var buttonPanel = CreateButtonPanel(); _wizardStepPanel = ControlFactory.CreatePanel(); BorderLayoutManagerWin borderLayoutManager = new BorderLayoutManagerWin(this, ControlFactory); borderLayoutManager.AddControl(_wizardStepPanel, BorderLayoutManager.Position.Centre); borderLayoutManager.AddControl(buttonPanel, BorderLayoutManager.Position.South); }
public async Task<IPanel> LoadAsync(IGame game) { _game = game; _game.Events.OnSavedGameLoad.Subscribe((sender, e) => onSaveGameLoaded()); IGameFactory factory = game.Factory; _player = game.State.Player; _panel = await factory.UI.GetPanelAsync("Toolbar", "../../Assets/Gui/DialogBox/toolbar.bmp", 0f, 180f); _panel.Visible = false; await loadButton("Walk Button", factory, "walk/", 0f, RotatingCursorScheme.WALK_MODE); await loadButton("Interact Button",factory, "hand/", 20f, RotatingCursorScheme.INTERACT_MODE); await loadButton("Look Button",factory, "eye/", 40f, RotatingCursorScheme.LOOK_MODE); await loadButton("Talk Button", factory, "talk/", 60f, MouseCursors.TALK_MODE); IButton invButton = await loadButton("Inventory Button", factory, "inventory/", 80f); IButton activeInvButton = await loadButton("Active Inventory Button", factory, "activeInventory/", 100f, RotatingCursorScheme.INVENTORY_MODE); activeInvButton.Z = 1f; await loadButton("Help Button", factory, "help/", 280f); IButton optionsButton = await loadButton("Settings Button", factory, "settings/", 300f); invButton.OnMouseClick(() => _invPanel.Show(), _game); optionsButton.OnMouseClick(() => _optionsPanel.Show(), _game); game.Events.OnRepeatedlyExecute.Subscribe(onRepeatedlyExecute); _inventoryItemIcon = factory.Object.GetObject("Inventory Item Icon"); _inventoryItemIcon.X = 10f; _inventoryItemIcon.Y = 10f; _inventoryItemIcon.Anchor = new AGS.API.PointF (0f, 0f); _inventoryItemIcon.TreeNode.SetParent(activeInvButton.TreeNode); _inventoryItemIcon.RenderLayer = _panel.RenderLayer; _inventoryItemIcon.Enabled = false; _inventoryItemIcon.IgnoreScalingArea = true; _inventoryItemIcon.IgnoreViewport = true; game.State.UI.Add(_inventoryItemIcon); ILabel label = game.Factory.UI.GetLabel("Hotspot Label", "", 150f, 20f, 200f, 0f, new AGSTextConfig(brush: Hooks.BrushLoader.LoadSolidBrush(Colors.LightGreen), alignment: Alignment.MiddleCenter, autoFit: AutoFit.TextShouldFitLabel, paddingBottom: 5f, font: Hooks.FontLoader.LoadFont(AGSGameSettings.DefaultTextFont.FontFamily, 10f))); label.Anchor = new AGS.API.PointF(0.5f, 0f); label.TreeNode.SetParent(_panel.TreeNode); VerbOnHotspotLabel hotspotLabel = new VerbOnHotspotLabel(() => _scheme.CurrentMode, game, label); hotspotLabel.Start(); return _panel; }
public async Task LoadAsync(IGame game) { _game = game; IGameFactory factory = game.Factory; _panel = await factory.UI.GetPanelAsync(_panelId, "../../Assets/Gui/DialogBox/options.bmp", 160f, 100f); _panel.Anchor = new AGS.API.PointF (0.5f, 0.5f); _panel.Visible = false; AGSLoadImageConfig loadConfig = new AGSLoadImageConfig(new AGS.API.Point(0, 0)); ISlider volumeSlider = await factory.UI.GetSliderAsync("Volume Slider", _sliderFolder + "slider.bmp", _sliderFolder + "handle.bmp", 0.5f, 0f, 1f, loadConfig: loadConfig); volumeSlider.X = 120f; volumeSlider.Y = 10f; volumeSlider.HandleGraphics.Anchor = new AGS.API.PointF (0.5f, 0.5f); volumeSlider.TreeNode.SetParent(_panel.TreeNode); volumeSlider.OnValueChanged(onVolumeChanged, _game); ILabel volumeLabel = factory.UI.GetLabel("Volume Label", "Volume", 50f, 30f, 120f, 85f, _textConfig); volumeLabel.Anchor = new AGS.API.PointF (0.5f, 0f); volumeLabel.TreeNode.SetParent(_panel.TreeNode); ISlider speedSlider = await factory.UI.GetSliderAsync("Speed Slider", _sliderFolder + "slider.bmp", _sliderFolder + "handle.bmp", 100f, 1f, 200f, loadConfig: loadConfig); speedSlider.X = 180f; speedSlider.Y = 10f; speedSlider.HandleGraphics.Anchor = new AGS.API.PointF (0.5f, 0.5f); speedSlider.TreeNode.SetParent(_panel.TreeNode); speedSlider.OnValueChanged(onSpeedChanged, _game); ILabel speedLabel = factory.UI.GetLabel("Speed Label", "Speed", 50f, 30f, 180f, 85f, _textConfig); speedLabel.Anchor = new AGS.API.PointF (0.5f, 0f); speedLabel.TreeNode.SetParent(_panel.TreeNode); _game.Events.OnSavedGameLoad.Subscribe((sender, args) => findPanel()); await loadButton("Resume", 95, Hide); await loadButton("Restart", 75, restart); await loadButton("Load", 55, load); await loadButton("Save", 35, save); await loadButton("Quit", 15, quit); }
// holder (if != null) in attr["holder"] public Panel(string tableName, int panelId, int typeId, string typeName, List<IPanel> children, List<IField> fields, List<IControl> controls, List<string> PKColNames, DataRow PK = null, PropertyCollection viewAttr = null, PropertyCollection controlAttr = null, IPanel parent = null) { this.tableName = tableName; this.viewAttr = viewAttr == null ? new PropertyCollection() : viewAttr; this.controlAttr = controlAttr==null?new PropertyCollection():controlAttr; this.panelId = panelId; this.children = children; this.fields = fields; this.controls = controls; this.PKColNames = PKColNames; this.PK = PK; this.typeId = typeId; this.typeName = typeName; this.parent = parent; if (this.controls == null) this.controls = new List<IControl>(); if (this.fields == null) this.fields = new List<IField>(); if (this.controlAttr == null) this.controlAttr = new PropertyCollection(); if (this.viewAttr == null) this.viewAttr = new PropertyCollection(); if (this.PKColNames == null) this.PKColNames = new List<string>(); }
///<summary> /// Constructor for <see cref="FilterControlWin"/> ///</summary> ///<param name="controlFactory"></param> public FilterControlWin(IControlFactory controlFactory) { Height = 50; _controlFactory = controlFactory; FilterGroupBox = _controlFactory.CreateGroupBox(); // _groupBox = _controlFactory.CreatePanel(); _controlFactory.CreateBorderLayoutManager(this).AddControl(FilterGroupBox, BorderLayoutManager.Position.Centre); FilterGroupBox.Text = "Filter the Grid"; BorderLayoutManager layoutManager = controlFactory.CreateBorderLayoutManager(FilterGroupBox); layoutManager.BorderSize = 20; _filterButtonPanel = controlFactory.CreatePanel(); _filterButtonPanel.Height = 50; _filterButtonPanel.Width = 120; //110; _filterButtonPanel.Visible = false; CreateFilterButtons(_filterButtonPanel); _controlPanel = controlFactory.CreatePanel(); _controlPanel.Width = Width; this.EnsureButtonsFit(); this._filterButtonPanel.Resize += (sender, e) => { this.EnsureButtonsFit(); }; layoutManager.AddControl(_controlPanel, BorderLayoutManager.Position.Centre); layoutManager.AddControl(_filterButtonPanel, BorderLayoutManager.Position.East); Height = 50; this._controlPanel.Resize += (sender, e) => { this.Height = this._controlPanel.Height + layoutManager.BorderSize; if ((this.FilterGroupBox.Height - layoutManager.BorderSize) < this.Height) { this.FilterGroupBox.Height = this.Height; } }; _filterControlManager = new FilterControlManager(controlFactory, new FlowLayoutManager(_controlPanel, controlFactory)); }
void Constructor(IPanel panelObj, UIRenderDevice deviceObj, UIRAtlasManager atlasMan, VectorImageManager vectorImageMan) { if (disposed) { DisposeHelper.NotifyDisposedUsed(this); } // A reasonable starting depth level suggested here m_DirtyTracker.heads = new List <VisualElement>(8); m_DirtyTracker.tails = new List <VisualElement>(8); m_DirtyTracker.minDepths = new int[(int)RenderDataDirtyTypeClasses.Count]; m_DirtyTracker.maxDepths = new int[(int)RenderDataDirtyTypeClasses.Count]; m_DirtyTracker.Reset(); this.panel = panelObj; this.device = deviceObj; this.atlasManager = atlasMan; this.vectorImageManager = vectorImageMan; this.shaderInfoAllocator.Construct(); painter = new Implementation.UIRStylePainter(this); Font.textureRebuilt += OnFontReset; }
private void SetupDisplayBox() { //ControlsHelper.SafeGui(_dateTimePicker, delegate() //{ _displayBox = _controlFactory.CreatePanel(); //_displayBox.BorderStyle = BorderStyle.None; //_displayBox.Location = new Point(2, 2); ResizeDisplayBox(); _displayBox.BackColor = _dateTimePicker.BackColor; _displayBox.ForeColor = _dateTimePicker.ForeColor; //_displayBox.MouseUp += DateTimePicker_MouseUp; //_displayBox.KeyDown += DateTimePicker_KeyDown; _displayText = _controlFactory.CreateLabel(); //_displayText.Location = new Point(0, 0); _displayText.AutoSize = true; _displayText.Text = ""; //_displayText.MouseUp += DateTimePicker_MouseUp; //_displayText.KeyDown += DateTimePicker_KeyDown; _displayBox.Controls.Add(_displayText); _dateTimePicker.Controls.Add(_displayBox); _displayBox.Visible = false; //}); }
/// <summary> /// Displays the main menu /// </summary> private void mainMenuHandler() { var panelClass = "MainMenu"; if (Context.AppPanelManager.IsCurrentPanelClass(panelClass)) { return; } Form form = Dispatcher.Scanner.Form; if (Windows.GetVisible(form)) { form.Invoke(new MethodInvoker(delegate { IPanel mainMenu = Context.AppPanelManager.CreatePanel(panelClass) as IPanel; if (mainMenu != null) { Context.AppPanelManager.ShowDialog(form as IPanel, mainMenu); } })); } }
/// <summary> /// Creates the <see cref="Panel"/> when <see cref="ApplyTemplate"/> is called for the first /// time. /// </summary> private void CreatePanel() { Panel = ItemsPanel.Build(); Panel.SetValue(TemplatedParentProperty, TemplatedParent); if (!Panel.IsSet(KeyboardNavigation.DirectionalNavigationProperty)) { KeyboardNavigation.SetDirectionalNavigation( (InputElement)Panel, KeyboardNavigationMode.Contained); } LogicalChildren.Clear(); VisualChildren.Clear(); LogicalChildren.Add(Panel); VisualChildren.Add(Panel); KeyboardNavigation.SetTabNavigation( (InputElement)Panel, KeyboardNavigation.GetTabNavigation(this)); _createdPanel = true; CreateItemsAndListenForChanges(Items); }
public bool TrySelectWindow(EditorWindow searchedWindow) { var root = EditorModes.GetRootElement(searchedWindow); if (root == null) { return(false); } IPanel searchedPanel = root.panel; for (int i = 0; i < m_Panels.Count; i++) { var p = m_Panels[i]; if (p.Panel == searchedPanel) { m_Selected = i + 1; return(true); } } return(false); }
/// <summary> /// Creates the <see cref="Panel"/> when <see cref="ApplyTemplate"/> is called for the first /// time. /// </summary> private void CreatePanel() { Panel = ItemsPanel.Build(); Panel.SetValue(TemplatedParentProperty, TemplatedParent); LogicalChildren.Clear(); VisualChildren.Clear(); LogicalChildren.Add(Panel); VisualChildren.Add(Panel); _createdPanel = true; INotifyCollectionChanged incc = Items as INotifyCollectionChanged; if (incc != null) { incc.CollectionChanged += ItemsCollectionChanged; } PanelCreated(Panel); ItemsChanged(new NotifyCollectionChangedEventArgs(NotifyCollectionChangedAction.Reset)); }
private void RewritePanelProperties(IPanel panel) { // ingore holder, except from that just copy panel.viewAttr.Remove("id_holder"); Dictionary <string, object> insertVals = new Dictionary <string, object>(); insertVals["id_panel"] = panel.panelId; insertVals["concerns"] = CC.ATTR_CONTROLS; foreach (string key in panel.controlAttr.Keys) { insertVals["name"] = key; insertVals["val"] = panel.controlAttr[key].ToString(); query("REPLACE INTO panels_meta ", insertVals); } insertVals["concerns"] = CC.ATTR_VIEW; foreach (string key in panel.viewAttr.Keys) { insertVals["name"] = key; insertVals["val"] = panel.viewAttr[key].ToString(); query("REPLACE INTO panels_meta ", insertVals); } }
public void TestCollapseOneAfterAnother() { //---------------Set up test pack------------------- ICollapsiblePanelGroupControl control = CreateCollapsiblePanelGroupControl(); IPanel content1 = GetControlFactory().CreatePanel(); IPanel content2 = GetControlFactory().CreatePanel(); IPanel content3 = GetControlFactory().CreatePanel(); ICollapsiblePanel collapsiblePanel1 = control.AddControl(content1, "", 99); ICollapsiblePanel collapsiblePanel2 = control.AddControl(content2, "", 53); ICollapsiblePanel collapsiblePanel3 = control.AddControl(content3, "", 53); //---------------Execute Test ---------------------- collapsiblePanel1.Collapsed = true; collapsiblePanel2.Collapsed = true; collapsiblePanel3.Collapsed = true; collapsiblePanel2.Collapsed = false; collapsiblePanel1.Collapsed = false; //---------------Test Result ----------------------- //panel1 should be the same as its original height after the above steps Assert.AreEqual(collapsiblePanel1.ExpandedHeight, collapsiblePanel1.Height); //---------------Tear Down ------------------------- }
public void DispatchEvent(EventBase evt, IPanel panel) { if (evt.target != null) { evt.propagateToIMGUI = evt.target is IMGUIContainer; EventDispatchUtilities.PropagateEvent(evt); } else { if (!evt.isPropagationStopped && panel != null) { if (evt.propagateToIMGUI || evt.eventTypeId == MouseEnterWindowEvent.TypeId() || evt.eventTypeId == MouseLeaveWindowEvent.TypeId() ) { EventDispatchUtilities.PropagateToIMGUIContainer(panel.visualTree, evt); } } } evt.stopDispatch = true; }
public void TestUncollapsingPanelCollapsingAllOtherPanelsExceptPinnedPanels() { //---------------Set up test pack------------------- ICollapsiblePanelGroupControl control = CreateCollapsiblePanelGroupControl(); IPanel content1 = GetControlFactory().CreatePanel(); IPanel content2 = GetControlFactory().CreatePanel(); IPanel content3 = GetControlFactory().CreatePanel(); ICollapsiblePanel collapsiblePanel1 = control.AddControl(content1, "", 99); ICollapsiblePanel collapsiblePanel2 = control.AddControl(content2, "", 53); ICollapsiblePanel collapsiblePanel3 = control.AddControl(content3, "", 53); //---------------Assert Precondition---------------- //---------------Execute Test ---------------------- collapsiblePanel2.Pinned = true; collapsiblePanel1.Collapsed = false; collapsiblePanel3.Collapsed = false; //---------------Test Result ----------------------- Assert.IsFalse(collapsiblePanel2.Collapsed); Assert.IsTrue(collapsiblePanel2.Pinned); Assert.IsTrue(collapsiblePanel1.Collapsed); Assert.IsFalse(collapsiblePanel3.Collapsed); }
public List <EventDebuggerPathTrace> GetPropagationPaths(IPanel panel, EventDebuggerEventRecord evt = null) { if (!m_EventPathObjects.TryGetValue(panel, out var list)) { return(null); } if ((evt != null) && (list != null)) { List <EventDebuggerPathTrace> filteredList = new List <EventDebuggerPathTrace>(); foreach (var pathObject in list) { if (pathObject.eventBase.eventId == evt.eventId) { filteredList.Add(pathObject); } } list = filteredList; } return(list); }
public List <EventDebuggerTrace> GetBeginEndProcessedEvents(IPanel panel, EventDebuggerEventRecord evt = null) { if (!m_EventProcessedEvents.TryGetValue(panel, out var list)) { return(null); } if ((evt != null) && (list != null)) { List <EventDebuggerTrace> filteredList = new List <EventDebuggerTrace>(); foreach (var defaultActionObject in list) { if (defaultActionObject.eventBase.eventId == evt.eventId) { filteredList.Add(defaultActionObject); } } list = filteredList; } return(list); }
/// <summary> /// 根据面板类型 得到实例化的面板 /// </summary> /// <returns></returns> private IPanel GetPanel(UIPanelType panelType) { if (m_panelDict == null) { m_panelDict = new Dictionary <UIPanelType, IPanel>(); } IPanel panel = m_panelDict.TryGet(panelType); if (panel == null) { //如果找不到,那么就找这个面板的prefab的路径,然后去根据prefab去实例化面板 string path = m_panelPathDict.TryGet(panelType); GameObject instPanel = GameObject.Instantiate(Resources.Load(path)) as GameObject; instPanel.transform.SetParent(CanvasTransform, false); m_panelDict.Add(panelType, instPanel.GetComponent <IPanel>()); return(instPanel.GetComponent <IPanel>()); } else { return(panel); } }
public List <EventDebuggerCallTrace> GetCalls(IPanel panel, EventDebuggerEventRecord evt = null) { if (!m_EventCalledObjects.TryGetValue(panel, out var list)) { return(null); } if ((evt != null) && (list != null)) { List <EventDebuggerCallTrace> filteredList = new List <EventDebuggerCallTrace>(); foreach (var callObject in list) { if (callObject.eventBase.eventId == evt.eventId) { filteredList.Add(callObject); } } list = filteredList; } return(list); }
private IEnumerable <TreeViewItem> ExtractItemContent(IPanel panel, int currentLevel, int level) { foreach (TreeViewItem container in panel.Children) { if (container.Template == null) { container.Template = CreateTreeViewItemTemplate(); container.ApplyTemplate(); } if (currentLevel == level) { yield return(container); } else { foreach (var child in ExtractItemContent(container.Presenter.Panel, currentLevel + 1, level)) { yield return(child); } } } }
/// <summary> /// Initialises the WizardControl with the IWizardController. No logic is performed other than storing the wizard controller. /// </summary> /// <param name="wizardController"></param> /// <param name="controlFactory">The control factory that this control will use to create a button</param> public WizardControlVWG(IWizardController wizardController, IControlFactory controlFactory) { if (wizardController == null) { throw new ArgumentNullException("wizardController"); } if (controlFactory == null) { throw new ArgumentNullException("controlFactory"); } _wizardController = wizardController; _controlFactory = controlFactory; _wizardControlManager = new WizardControlManager(this); IPanel buttonPanel = CreateButtonPanel(); _wizardStepPanel = _controlFactory.CreatePanel(); BorderLayoutManagerVWG borderLayoutManager = new BorderLayoutManagerVWG(this, _controlFactory); borderLayoutManager.AddControl(_wizardStepPanel, BorderLayoutManager.Position.Centre); borderLayoutManager.AddControl(buttonPanel, BorderLayoutManager.Position.South); }
public void Execute(IPanel panel) { if (panel == null) { throw new ArgumentNullException("panel"); } var tabContainer = panel.Parent as TabContainer; if (tabContainer != null) { if (tabContainer.Parent is IPanelContainer) { var stackContainer = new StackContainer { Header = new PanelHeader { Text = "Stack Container" }, Orientation = FindOptimalStackContainerOrientation(tabContainer) ?? Orientation.Horizontal, IsSelected = true }; var parentContainer = tabContainer.Parent as IPanelContainer; int tabContainerIndex = parentContainer.Childs.IndexOf(tabContainer); var newTabContainer = (TabContainer)tabContainer.Clone(); parentContainer.Childs.Remove(tabContainer); stackContainer.Childs.Add(tabContainer); stackContainer.Childs.Add(newTabContainer); parentContainer.Childs.Insert(tabContainerIndex, stackContainer); } } }
public void Test_BuildPanelForTab_Parameter_SetNumericUpDownAlignment() { //---------------Set up test pack------------------- Sample.SampleUserInterfaceMapper interfaceMapper = GetSampleUserInterfaceMapper(); UIFormTab singleFieldTab = interfaceMapper.GetFormTabOneFieldsWithAlignment_NumericUpDown(); Habanero.Faces.Base.PanelBuilder panelBuilder = CreatePanelBuilder(); //---------------Assert Precondition---------------- Assert.AreEqual("left", ((UIFormField)singleFieldTab[0][0]).Alignment); Assert.AreEqual("right", ((UIFormField)singleFieldTab[0][1]).Alignment); Assert.AreEqual("center", ((UIFormField)singleFieldTab[0][2]).Alignment); Assert.AreEqual("centre", ((UIFormField)singleFieldTab[0][3]).Alignment); //---------------Execute Test ---------------------- IPanel panel = panelBuilder.BuildPanelForTab(singleFieldTab).Panel; //---------------Test Result ----------------------- Assert.IsInstanceOf(typeof(INumericUpDown), panel.Controls[1]); INumericUpDown control1 = (INumericUpDown)panel.Controls[1]; Assert.AreEqual(HorizontalAlignment.Left, control1.TextAlign); Assert.IsInstanceOf(typeof(INumericUpDown), panel.Controls[Habanero.Faces.Base.PanelBuilder.CONTROLS_PER_COLUMN + 1]); INumericUpDown control2 = (INumericUpDown)panel.Controls[Habanero.Faces.Base.PanelBuilder.CONTROLS_PER_COLUMN + 1]; Assert.AreEqual(HorizontalAlignment.Right, control2.TextAlign); Assert.IsInstanceOf(typeof(INumericUpDown), panel.Controls[Habanero.Faces.Base.PanelBuilder.CONTROLS_PER_COLUMN * 2 + 1]); INumericUpDown control3 = (INumericUpDown)panel.Controls[Habanero.Faces.Base.PanelBuilder.CONTROLS_PER_COLUMN * 2 + 1]; Assert.AreEqual(HorizontalAlignment.Center, control3.TextAlign); Assert.IsInstanceOf(typeof(INumericUpDown), panel.Controls[Habanero.Faces.Base.PanelBuilder.CONTROLS_PER_COLUMN * 3 + 1]); INumericUpDown control4 = (INumericUpDown)panel.Controls[Habanero.Faces.Base.PanelBuilder.CONTROLS_PER_COLUMN * 3 + 1]; Assert.AreEqual(HorizontalAlignment.Center, control4.TextAlign); }
private void DeletePanel([NotNull] IPanelFactory factory, [NotNull] IPanel panel) { foreach (var item in _panelsListButtons.Values) { var subItems = item.SubItems.OfType <BaseItem>().ToArray(); foreach (BaseItem subItem in subItems) { if (subItem.Tag is IActionDefinition action && panel is IPanel <Form> formPanel && formPanel.PanelContainer is PanelContainerForm containerForm) { var actionForm = FindForm(action); if (actionForm == containerForm) { subItem.Click -= Button_Click; item.SubItems.Remove(subItem); if (action is INotifyPropertyChanged childButtonAction) { childButtonAction.PropertyChanged -= OnChildButtonActionPropertyChanged; } _childParentActions.Remove(action.Id); break; } } } if (!item.SubItems.OfType <BaseItem>().Any() && item.Tag is IActionDefinition itemAction) { item.Enabled = itemAction.Enabled; } } (panel as IPanel <Form>)?.PanelContainer?.Close(); }
public void Load(IPanel parent) { _parent = parent; _panelId = parent.TreeNode.GetRoot().ID; var factory = _game.Factory; _searchBox = factory.UI.GetTextBox("GameDebugTreeSearchBox", 0f, parent.Height, parent, "Search...", width: parent.Width, height: 30f); _searchBox.RenderLayer = _layer; _searchBox.Border = AGSBorders.SolidColor(Colors.Green, 2f); _searchBox.Tint = Colors.Transparent; _searchBox.Pivot = new PointF(0f, 1f); _searchBox.GetComponent <ITextComponent>().PropertyChanged += onSearchPropertyChanged; _scrollingPanel = factory.UI.GetPanel("GameDebugTreeScrollingPanel", parent.Width, parent.Height - _searchBox.Height, 0f, 0f, parent); _scrollingPanel.RenderLayer = _layer; _scrollingPanel.Pivot = new PointF(0f, 0f); _scrollingPanel.Tint = Colors.Transparent; _scrollingPanel.Border = AGSBorders.SolidColor(Colors.Green, 2f); const float lineHeight = 42f; _treePanel = factory.UI.GetPanel("GameDebugTreePanel", 1f, 1f, 0f, _scrollingPanel.Height - lineHeight, _scrollingPanel); _treePanel.Tint = Colors.Transparent; _treePanel.RenderLayer = _layer; _treeView = _treePanel.AddComponent <ITreeViewComponent>(); _treeView.OnNodeSelected.Subscribe(onTreeNodeSelected); factory.UI.CreateScrollingPanel(_scrollingPanel); parent.GetComponent <IScaleComponent>().PropertyChanged += (_, args) => { if (args.PropertyName != nameof(IScaleComponent.Height)) { return; } _scrollingPanel.Image = new EmptyImage(_scrollingPanel.Width, parent.Height - _searchBox.Height); _treePanel.Y = _scrollingPanel.Height - lineHeight; _searchBox.Y = _parent.Height; }; }
public void SetLevelOfPanel(UILevel level, IPanel panel) { switch (level) { case UILevel.Bg: panel.Transform.SetParent(UIKit.Root.BgTrans); break; case UILevel.AnimationUnderPage: panel.Transform.SetParent(UIKit.Root.AnimationUnderTrans); break; case UILevel.Common: panel.Transform.SetParent(UIKit.Root.CommonTrans); break; case UILevel.AnimationOnPage: panel.Transform.SetParent(UIKit.Root.AnimationOnTrans); break; case UILevel.PopUI: panel.Transform.SetParent(UIKit.Root.PopUITrans); break; case UILevel.Const: panel.Transform.SetParent(UIKit.Root.ConstTrans); break; case UILevel.Toast: panel.Transform.SetParent(UIKit.Root.ToastTrans); break; case UILevel.Forward: panel.Transform.SetParent(UIKit.Root.ForwardTrans); break; } }
public void DispatchEvent(EventBase evt, IPanel panel) { if (panel != null) { if (panel.focusController.GetLeafFocusedElement() != null) { IMGUIContainer imguiContainer = panel.focusController.GetLeafFocusedElement() as IMGUIContainer; if (imguiContainer != null) { if (!evt.Skip(imguiContainer) && imguiContainer.SendEventToIMGUI(evt)) { evt.StopPropagation(); evt.PreventDefault(); } } else { evt.target = panel.focusController.GetLeafFocusedElement(); EventDispatchUtilities.PropagateEvent(evt); } } else { evt.target = panel.visualTree; EventDispatchUtilities.PropagateEvent(evt); if (!evt.isPropagationStopped) { EventDispatchUtilities.PropagateToIMGUIContainer(panel.visualTree, evt); } } } evt.propagateToIMGUI = false; evt.stopDispatch = true; }
public void addPanel(IPanel panel, bool recursive = true) { Dictionary<string, object> insertVals = new Dictionary<string, object>(); insertVals["id_project"] = CE.project.id; if(panel.viewAttr.ContainsKey("id_holder")){ insertVals["id_holder"] = panel.viewAttr["id_holder"]; } insertVals["id_type"] = panel.typeId; //insertVals["type_name"] = panel.typeName; // duplicite - only in panel object insertVals["table_name"] = panel.tableName; if(panel.parent != null) insertVals["id_parent"] = panel.parent.panelId; if (panel.PKColNames != null) { insertVals["pk_column_names"] = String.Join(",", panel.PKColNames); } StartTransaction(); panel.SetCreationId(NextId("panels")); query("INSERT INTO panels ", insertVals); CommitTransaction(); foreach (IField field in panel.fields) { field.panelId = panel.panelId; AddField(field); } RewritePanelProperties(panel); if (recursive) { foreach (IPanel child in panel.children) { child.SetParentPanel(panel); addPanel(child, true); } } }
public void Execute(IPanel panel) { if (panel == null) { throw new ArgumentNullException("panel"); } var tabContainer = panel.Parent as TabContainer; if (tabContainer != null) { if (tabContainer.Parent is IPanelContainer) { var stackContainer = new StackContainer { Header = new PanelHeader { Text = "Stack Container" }, Orientation = FindOptimalStackContainerOrientation(tabContainer) ?? Orientation.Horizontal }; stackContainer.Activate(); var parentContainer = tabContainer.Parent as IPanelContainer; int tabContainerIndex = parentContainer.Presenters.IndexOf(tabContainer); var newTabContainer = (TabContainer)tabContainer.Clone(); parentContainer.Shutdown(tabContainer, b => { }); stackContainer.Presenters.Add(tabContainer); stackContainer.Presenters.Add(newTabContainer); parentContainer.Presenters.Insert(tabContainerIndex, stackContainer); } } }
private IPanel CreateButtonPanel() { IPanel buttonPanel = _controlFactory.CreatePanel(); const int buttonWidth = 75; const int buttonHeight = 38; var buttonSize = new Size(buttonWidth, buttonHeight); FlowLayoutManager layoutManager = new FlowLayoutManager(buttonPanel, _controlFactory); layoutManager.Alignment = FlowLayoutManager.Alignments.Right; CancelButton = _controlFactory.CreateButton("Cancel"); CancelButton.Click += this.CancelButton_Click; CancelButton.Size = new Size(75, 38); CancelButton.TabIndex = 3; layoutManager.AddControl(CancelButton); FinishButton = _controlFactory.CreateButton("Finish"); FinishButton.Click += this.FinishButton_Click; FinishButton.Size = buttonSize; FinishButton.TabIndex = 2; layoutManager.AddControl(FinishButton); NextButton = _controlFactory.CreateButton("Next"); NextButton.Click += this.NextButton_Click; NextButton.Size = new Size(75, 38); NextButton.TabIndex = 1; layoutManager.AddControl(NextButton); PreviousButton = _controlFactory.CreateButton("Previous"); PreviousButton.Click += this.PreviousButton_Click; PreviousButton.Size = new Size(75, 38); PreviousButton.TabIndex = 0; layoutManager.AddControl(PreviousButton); return(buttonPanel); }
public void setView(IPanel value) { if (_view != null) { _view.removeEventListener(EventX.READY, preViewReadyHandler); bindSetViewEvent(_view, false); } _view = value; if (_view != null) { if (_view is IAsync) { IAsync asyncView = _view as IAsync; if (asyncView.isReady == false) { _view.addEventListener(EventX.READY, preViewReadyHandler); return; } } preViewReadyHandler(null); //此句调用肯定会报错 } }
public List <EventDebuggerCallTrace> GetCalls(IPanel panel, EventDebuggerEventRecord evt = null) { List <EventDebuggerCallTrace> list = null; if (m_EventCalledObjects.ContainsKey(panel)) { list = m_EventCalledObjects[panel]; } if ((evt != null) && (list != null)) { List <EventDebuggerCallTrace> filteredList = new List <EventDebuggerCallTrace>(); foreach (var callObject in list) { if (callObject.eventBase.eventId == evt.eventId) { filteredList.Add(callObject); } } list = filteredList; } return(list); }
public async Task LoadAsync(IGame game) { _game = game; _game.Events.OnSavedGameLoad.Subscribe((sender, e) => onSaveGameLoaded()); IGameFactory factory = game.Factory; _panel = await factory.UI.GetPanelAsync("Inventory Panel", "../../Assets/Gui/DialogBox/inventory.bmp", 160f, 100f); _panel.Anchor = new PointF (0.5f, 0.5f); _panel.Visible = false; await loadButton("Inventory Look Button", factory, "magnify/", 5f, RotatingCursorScheme.LOOK_MODE); await loadButton("Invntory Point Button", factory, "upLeft/", 27f, MouseCursors.POINT_MODE); IButton okButton = await loadButton("Inventory Ok Button", factory, "ok/", 49f); IButton upButton = await loadButton("Inventory Up Button", factory, "up/", 93f); IButton downButton = await loadButton("Inventory Down Button", factory, "down/", 115f); okButton.OnMouseClick(Hide, _game); _invWindow = factory.Inventory.GetInventoryWindow("Inventory Window", 124f, 88f, 40f, 22f, 7f, 30f); _invWindow.TreeNode.SetParent(_panel.TreeNode); upButton.OnMouseClick(_invWindow.ScrollUp, _game); downButton.OnMouseClick(_invWindow.ScrollDown, _game); }
/// <summary> /// Sets the panel. When panel is null, welcome panel is shown. Depending on current panel and new panel stacking may happen /// </summary> /// <param name="panel">Panel.</param> public bool SetPanel(IPanel panel) { if (panel == null) { return(App.Current.StateController.MoveToHome().Result); } if (currentPanel != null) { ((IPanel)currentPanel).OnUnload(); centralbox.Remove(currentPanel); } Title = panel.Title; panel.OnLoad(); currentPanel = (Widget)panel; centralbox.PackStart(currentPanel, true, true, 0); currentPanel.Show(); // FIXME: Remove this once everything uses the ITool implementation correctly if (panel is WelcomePanel) { ResetGUI(); } return(true); }
/// <summary> /// Constructs a <see cref="MainTitleIconControlVWG"/> /// </summary> public MainTitleIconControlVWG(IControlFactory controlFactory) { if (controlFactory == null) { throw new ArgumentNullException("controlFactory"); } _controlFactory = controlFactory; _panel = _controlFactory.CreatePanel(); ((PanelVWG)_panel).BackgroundImage = @"Images.headergradient.png"; _panel.BackColor = Color.Transparent; _panel.Dock = Habanero.Faces.Base.DockStyle.Top; _panel.Height = 23; this.Size = new Size(_panel.Width, _panel.Height); _icon = _controlFactory.CreateLabel(); ((LabelVWG)_icon).BackgroundImage = ""; _icon.BackColor = Color.Transparent; ((LabelVWG)_icon).BackgroundImageLayout = ImageLayout.Center; _icon.Dock = Habanero.Faces.Base.DockStyle.Left; _icon.Size = new Size(20, 20); _title = _controlFactory.CreateLabel(); _title.Font = new Font("Verdana", 10); _title.Dock = Habanero.Faces.Base.DockStyle.Fill; _title.BackColor = Color.Transparent; _title.TextAlign = ContentAlignment.MiddleLeft; _title.ForeColor = Color.White; _panel.Controls.Add(_title); _panel.Controls.Add(_icon); this.Dock = DockStyleVWG.GetDockStyle(DockStyle.Top); this.Controls.Add((PanelVWG)_panel); this.Height = 23; }
/// <summary> /// Creates and shows the specified scanner /// </summary> /// <param name="panelClass">type of the scanner</param> /// <returns>true on success</returns> private bool createAndShowScanner(String panelClass, Form form) { bool retVal = true; form.Invoke(new MethodInvoker(delegate() { IPanel panel = Context.AppPanelManager.CreatePanel(panelClass) as IPanel; if (panel != null) { _disableAllButtons = true; _dimScanner = false; IScannerPanel scannerPanel = panel as IScannerPanel; scannerPanel.ScannerCommon.PositionSizeController.DockScanner(form.Handle, Windows.WindowPosition.TopRight); Context.AppPanelManager.Show(form as IPanel, panel); } else { retVal = false; } })); return(retVal); }
public void TestCollapseAll() { //---------------Set up test pack------------------- ICollapsiblePanelGroupControl control = CreateCollapsiblePanelGroupControl(); IPanel content1 = GetControlFactory().CreatePanel(); IPanel content2 = GetControlFactory().CreatePanel(); IPanel content3 = GetControlFactory().CreatePanel(); control.AddControl(content1, "", 99); ICollapsiblePanel collapsiblePanel2 = control.AddControl(content2, "", 53); control.AddControl(content3, "", 53); control.AllCollapsed = false; //---------------Assert Precondition---------------- foreach (ICollapsiblePanel collapsiblePanel in control.Controls) { Assert.IsTrue(collapsiblePanel.Pinned); Assert.IsFalse(collapsiblePanel.Collapsed); Assert.AreEqual(collapsiblePanel.ExpandedHeight, collapsiblePanel.Height); } //---------------Execute Test ---------------------- control.AllCollapsed = true; //---------------Execute Test ---------------------- //---------------Test Result ----------------------- Assert.AreEqual(3, control.Controls.Count); foreach (ICollapsiblePanel collapsiblePanel in control.Controls) { Assert.IsFalse(collapsiblePanel.Pinned); Assert.IsTrue(collapsiblePanel.Collapsed); Assert.Less(collapsiblePanel.Height, collapsiblePanel.ExpandedHeight); Assert.AreNotEqual(collapsiblePanel2.ExpandedHeight, collapsiblePanel2.Height); } //---------------Tear down ------------------------- }
/// <summary> /// Fires OnNavigateTo for the panel /// </summary> /// <param name="panel"></param> private void FireOnNavigateTo(IPanel panel) { try { // Tell the panel it is prime time! panel.OnNavigatingTo(); } catch (Exception e) { App.BaconMan.MessageMan.DebugDia("OnNavigatingTo failed!", e); } }
public int insertPanel(IPanel panel, DataRow values) { return query("INSERT INTO " + panel.tableName + " ", values); }
public PanelManager(IMainPage main, IPanel startingPanel = null) { this.InitializeComponent(); // Create m_mainPage = main; // Set the initial panel size size OnScreenSizeChanged((int)Window.Current.Bounds.Width, true); Window.Current.SizeChanged += Windows_SizeChanged; // Set the starting panel if (startingPanel != null) { startingPanel.PanelSetup(this, new Dictionary<string, object>()); FireOnNavigateTo(startingPanel); m_panelStack.Add(new StackItem() { Panel = startingPanel, Id = "StartingPanel" }); ui_contentRoot.Children.Add((UserControl)startingPanel); } // Set the back button UpdateBackButton(); // Register for app suspend commands App.BaconMan.OnSuspending += OnSuspending; App.BaconMan.OnResuming += OnResuming; // Register for memory pressure callbacks App.BaconMan.MemoryMan.OnMemoryCleanUpRequest += MemoryMan_OnMemoryCleanUpRequest; }
/// <summary> /// Fires OnReduceMemory for the panel /// </summary> /// <param name="panel"></param> private void FireOnReduceMemory(IPanel panel) { try { // Tell the panel to reduce memory. panel.OnReduceMemory(); } catch (Exception e) { App.BaconMan.MessageMan.DebugDia("FireOnReduceMemory failed!", e); } }
/// <summary> /// Fires OnCleanupPanel for the panel /// </summary> /// <param name="panel"></param> private void FireOnCleanupPanel(IPanel panel) { try { // Tell the panel to clean up. panel.OnCleanupPanel(); } catch (Exception e) { App.BaconMan.MessageMan.DebugDia("FireOnCleanupPanel failed!", e); } }
/// <summary> /// Constructor that sets up the error message form /// </summary> public CollapsibleExceptionNotifyForm(Exception ex, string furtherMessage, string title) { this._exception = ex; this._summary = _controlFactory.CreatePanel(); this._summary.Text = title; this._summary.Height = SUMMARY_HEIGHT; ITextBox messageTextBox = GetSimpleMessage(ex.Message); messageTextBox.ScrollBars = ScrollBars.Vertical; ILabel messageLabel = GetErrorLabel(furtherMessage); BorderLayoutManager summaryManager = _controlFactory.CreateBorderLayoutManager(_summary); summaryManager.AddControl(messageLabel, BorderLayoutManager.Position.North); summaryManager.AddControl(messageTextBox, BorderLayoutManager.Position.Centre); this._buttonsOK = _controlFactory.CreateButtonGroupControl(); this._buttonsOK.AddButton("&OK", new EventHandler(OKButtonClickHandler)); this._buttonsDetail = _controlFactory.CreateButtonGroupControl(); this._buttonsDetail.AddButton("Email Error", EmailErrorClickHandler); this._moreDetailButton = _buttonsDetail.AddButton("More Detail »", MoreDetailClickHandler); this._buttonsDetail.Width = 2 * (_moreDetailButton.Width + 9); this._fullDetailsVisible = false; this.SetFullDetailsPanel(); this.LayoutForm(); this.Text = title; this.Width = 600; this.Height = SUMMARY_HEIGHT + BUTTONS_HEIGHT + 16; this.StartPosition = FormStartPosition.CenterScreen; //this.Resize += ResizeForm; }
/// <summary> /// Fires OnNavigateFrom for the panel /// </summary> /// <param name="panel"></param> private void FireOnNavigateFrom(IPanel panel) { try { // Tell the panel it is leaving panel.OnNavigatingFrom(); } catch (Exception e) { App.BaconMan.MessageMan.DebugDia("OnNavigatingFrom failed!", e); } }
/// <summary> /// Returns the type of panel this is. /// </summary> /// <param name="panel"></param> /// <returns></returns> private PanelType GetPanelType(IPanel panel) { return (panel as SubredditPanel) == null ? PanelType.ContentPanel : PanelType.SubredditList; }
protected FlowLayoutManager GetLayoutManager(IPanel buttonPanel) { return new FlowLayoutManager(buttonPanel, ControlFactory) {Alignment = FlowLayoutManager.Alignments.Right}; }
/// <summary> /// Sets up the panel that shows the error details /// </summary> private void SetFullDetailsPanel() { _fullDetail = _controlFactory.CreatePanel(); _fullDetail.Text = "Error Detail"; _errorDetails = _controlFactory.CreateTextBox(); _errorDetails.Text = ExceptionUtilities.GetExceptionString(_exception, 0, false); _errorDetails.Multiline = true; _errorDetails.ScrollBars = ScrollBars.Both; _showStackTrace = _controlFactory.CreateCheckBox(); _showStackTrace.Text = "&Show stack trace"; _showStackTrace.CheckedChanged += ShowStackTraceClicked; var manager = _controlFactory.CreateBorderLayoutManager(_fullDetail); manager.AddControl(_errorDetails, BorderLayoutManager.Position.Centre); var chkPanel = _controlFactory.CreatePanel(); var vgap = LayoutManager.DefaultGapSize + LayoutManager.DefaultBorderSize; if (GlobalUIRegistry.UIStyleHints != null) vgap = GlobalUIRegistry.UIStyleHints.LayoutHints.DefaultVerticalGap + GlobalUIRegistry.UIStyleHints.LayoutHints.DefaultBorderSize; chkPanel.Height = _showStackTrace.Height + 2 * vgap; var chkManager = _controlFactory.CreateBorderLayoutManager(chkPanel); chkManager.AddControl(_showStackTrace, BorderLayoutManager.Position.West); manager.AddControl(chkPanel, BorderLayoutManager.Position.South); }