private void HandleVisualControlAction(object sender, VisualControlActionEvent e) { SLogManager.getInstance().Info("HandleVisualControlAction received in DocumentManagerSupport"); switch (e.RequestData.ActionKind) { case VisualControlActionKind.Activated: _activeControl = null; foreach (DevExpress.XtraBars.BarItem item in _saveComponents) { item.Enabled = false; } core.controls.IVisualControl vc = e.RequestData.VisualControl; core.controls.VisualControlInfo vci = vc.VisualControlInfo; if (vci != null) { if (_controlsForSave.Find(x => x.VisualControlInfo == vci) != null) { foreach (DevExpress.XtraBars.BarItem item in _saveComponents) { item.Enabled = true; } } _activeControl = vc; } break; case VisualControlActionKind.Disposed: default: _activeControl = null; foreach (DevExpress.XtraBars.BarItem item in _saveComponents) { item.Enabled = false; } break; } }
public VisualControl(core.controls.VisualControlInfo vci) : this() { VisualControlInfo = vci; }
private void HandleOpenPanelRequestEvent(object sender, OpenPanelRequestEvent e) { OpenPanelRequest ee = (OpenPanelRequest)e.Data; core.controls.VisualControlInfo vci = ee.Vci; // handle eventual multi opening if (!vci.AllowMulti) { BaseDocument existingDocument = _managerSupport.getDocumentByVCI(vci); if (existingDocument != null) { documentManager.View.Controller.Activate(existingDocument); VisualControl existingVisualControl = (VisualControl)existingDocument.Control; if ((existingVisualControl != null) && (ee.DataObject != null)) { existingVisualControl.Start(core.controls.VisualControlStartingKind.ActivateOpened, ee.DataObject); } return; } } VisualControl control = (VisualControl)vci.createInstance(); if (control != null) { if (vci.DockStyle == core.controls.ControlDockStyle.PLGT_document) { documentManager.BeginUpdate(); BaseDocument document = documentManager.View.AddDocument(control); document.Caption = control.VisualControlInfo.Name; document.ControlName = control.VisualControlInfo.Name; documentManager.EndUpdate(); documentManager.View.Controller.Activate(document); } else if (vci.DockStyle == core.controls.ControlDockStyle.PLGT_status) { DockPanel pb = new DockPanel(); if (dockManager.Panels.Count == 0) { pb = dockManager.AddPanel(DockingStyle.Bottom); } else if (dockManager.Panels.Count == 1) { pb = dockManager.AddPanel(DockingStyle.Bottom); DockPanel panelX = dockManager.Panels[0] as DockPanel; pb.DockAsTab(panelX); } else if (dockManager.Panels.Count > 1) { pb = dockManager.AddPanel(DockingStyle.Bottom); DockPanel container = dockManager.Panels[0].ParentPanel as DockPanel; if (container != null) { pb.DockAsTab(container); } } pb.ClosedPanel += (senderX, eX) => { dockManager.RemovePanel(pb); }; control.Dock = DockStyle.Fill; pb.ControlContainer.Controls.Add(control); pb.ID = vci.GUID; pb.Name = vci.GUID + "_" + control.Name; pb.Text = vci.Name; } else { DockPanel dockPanel1 = dockManager.AddPanel(DockingStyle.Top); dockPanel1.ID = ee.Vci.GUID; dockPanel1.Text = control.VisualControlInfo.Name; dockPanel1.Height = 400; dockPanel1.FloatSize = new Size(500, 400); control.Dock = DockStyle.Fill; dockPanel1.ControlContainer.Controls.Add(control); } //start control control.Start(core.controls.VisualControlStartingKind.StartingNew, ee.DataObject); } }