Ejemplo n.º 1
0
        private void OnContextMenuStripOpening(object sender, CancelEventArgs e)
        {
            if (_tileController == null || _tileController.ContextMenuProvider == null)
            {
                e.Cancel = true;
                return;
            }

            if (_tileController.ContextMenuEnabled)
            {
                ActionModelNode menuModel = _tileController.ContextMenuProvider.GetContextMenuModel(_tileController);
                if (menuModel != null && menuModel.ChildNodes.Count > 0)
                {
                    ToolStripBuilder.Clear(_contextMenuStrip.Items);
                    ToolStripBuilder.BuildMenu(_contextMenuStrip.Items, menuModel.ChildNodes);

                    // filter unavailable items out of list since they wreck the display of the overflow and scroll portions of the menu dropdown
                    // (ClearCanvas Ticket #4775, Microsoft Connect Issue #136061)
                    FilterUnavailableItems(_contextMenuStrip.Items);

                    // cancel list if, after filtering, no items are left to display.
                    e.Cancel = (_contextMenuStrip.Items.Count == 0);
                }
                else
                {
                    e.Cancel = true;
                }
            }
            else
            {
                e.Cancel = true;
            }
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Clean up any resources being used.
        /// </summary>
        /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
        protected override void Dispose(bool disposing)
        {
            if (disposing)
            {
                ToolStripBuilder.Clear(_contextMenuStrip.Items);

                _tilesToRepaint.Remove(this);

                DisposeSurface();

                if (components != null)
                {
                    components.Dispose();
                }

                if (_tile != null)
                {
                    _tile.Drawing               -= new EventHandler(OnTileDrawing);
                    _tile.RendererChanged       -= new EventHandler(OnRendererChanged);
                    _tile.EditBoxChanged        -= new EventHandler(OnEditBoxChanged);
                    _tile.InformationBoxChanged -= new EventHandler <InformationBoxChangedEventArgs>(OnInformationBoxChanged);
                    _tile.SelectionChanged      -= new EventHandler <ItemEventArgs <ITile> >(OnTileSelectionChanged);

                    _tileController.CursorTokenChanged   -= new EventHandler(OnCursorTokenChanged);
                    _tileController.ContextMenuRequested -= new EventHandler <ItemEventArgs <Point> >(OnContextMenuRequested);
                    _tileController.CaptureChanging      -= new EventHandler <ItemEventArgs <IMouseButtonHandler> >(OnCaptureChanging);
                    _tileController.Dispose();

                    _tile = null;
                }

                _tileController = null;
            }
            base.Dispose(disposing);
        }
 private void InitializeToolStrip()
 {
     ToolStripBuilder.Clear(_toolStrip.Items);
     if (_component.ToolbarModel != null)
     {
         ToolStripBuilder.BuildToolbar(_toolStrip.Items, _component.ToolbarModel.ChildNodes);
     }
 }
Ejemplo n.º 4
0
 private void InitializeMenu()
 {
     ToolStripBuilder.Clear(_contextMenu.Items);
     if (_menuModel != null)
     {
         ToolStripBuilder.BuildMenu(_contextMenu.Items, _menuModel.ChildNodes);
     }
 }
Ejemplo n.º 5
0
        public ActivityMonitorComponentControl(ActivityMonitorComponent component)
            : base(component)
        {
            _component = component;
            InitializeComponent();

            ToolStripBuilder.BuildToolStrip(ToolStripBuilder.ToolStripKind.Toolbar, _workItemToolStrip.Items, _component.WorkItemActions.ChildNodes);

            this.DataBindings.Add("IsConnected", _component, "IsConnected");

            _aeTitle.DataBindings.Add("Text", _component, "AeTitle");
            this.DataBindings.Add("HostName", _component, "HostName");

            _totalStudies.DataBindings.Add("Text", _component, "TotalStudies");
            _failures.DataBindings.Add("Text", _component, "Failures");

            _diskSpace.DataBindings.Add("Text", _component, "DiskspaceUsed");
            _diskSpaceMeter.DataBindings.Add("Value", _component, "DiskspaceUsedPercent");
            Binding diskSpaceMeterFillStateBinding = new Binding("FillState", _component, "IsMaximumDiskspaceUsageExceeded", true, DataSourceUpdateMode.OnPropertyChanged);

            diskSpaceMeterFillStateBinding.Parse  += ParseMeterFillState;
            diskSpaceMeterFillStateBinding.Format += FormatMeterFillState;
            _diskSpaceMeter.DataBindings.Add(diskSpaceMeterFillStateBinding);

            _diskSpaceWarningIcon.DataBindings.Add("Visible", _component, "IsMaximumDiskspaceUsageExceeded", true, DataSourceUpdateMode.OnPropertyChanged);
            _diskSpaceWarningMessage.DataBindings.Add("Visible", _component, "IsMaximumDiskspaceUsageExceeded", true, DataSourceUpdateMode.OnPropertyChanged);
            _diskSpaceWarningMessage.DataBindings.Add("Text", _component, "DiskSpaceWarningMessage", true, DataSourceUpdateMode.OnPropertyChanged);

            // need to work with these manually, because data-binding doesn't work well with toolstrip comboboxes
            _activityFilter.Items.AddRange(_component.ActivityTypeFilterChoices.Cast <object>().Select(i => new FilterItem(i, _component.FormatActivityTypeFilter)).ToArray());
            _activityFilter.SelectedIndex         = 0;
            _activityFilter.SelectedIndexChanged += _activityFilter_SelectedIndexChanged;

            // need to work with these manually, because data-binding doesn't work well with toolstrip comboboxes
            _statusFilter.Items.AddRange(_component.StatusFilterChoices.Cast <object>().Select(i => new FilterItem(i, _component.FormatStatusFilter)).ToArray());
            _statusFilter.SelectedIndex         = 0;
            _statusFilter.SelectedIndexChanged += _statusFilter_SelectedIndexChanged;

            // need to work with these manually, because data-binding doesn't work well with toolstrip comboboxes
            _textFilter.TextChanged += _textFilter_TextChanged;

            _component.PropertyChanged += _component_PropertyChanged;

            _workItemsTableView.Table     = _component.WorkItemTable;
            _workItemsTableView.MenuModel = _component.WorkItemActions;
            _workItemsTableView.DataBindings.Add("Selection", _component, "WorkItemSelection", true, DataSourceUpdateMode.OnPropertyChanged);

            // suppress keeping the selection in view, otherwise it can be totally unusable when there's lot's of activity
            _workItemsTableView.SuppressForceSelectionDisplay = true;

            UpdateTooltips();

            // only show study rules link if this feature is actually available
            _studyRulesLink.DataBindings.Add("Visible", _component, "StudyManagementRulesLinkVisible");
        }
Ejemplo n.º 6
0
 private static void ShowContextMenu(ContextMenuStrip contextMenuStrip, ActionModelNode actionModel, Point screenPoint, int minWidth, bool alignRight)
 {
     ToolStripBuilder.Clear(contextMenuStrip.Items);
     if (actionModel != null)
     {
         ToolStripBuilder.BuildMenu(contextMenuStrip.Items, actionModel.ChildNodes);
         if (alignRight)
         {
             screenPoint.Offset(-contextMenuStrip.Width, 0);
         }
         contextMenuStrip.Show(screenPoint);
     }
 }
Ejemplo n.º 7
0
        public StudyFilterComponentPanel(StudyFilterComponent component) : this()
        {
            _component = component;
            _component.FilterPredicatesChanged += new EventHandler(_component_FilterPredicatesChanged);

            ActionModelRoot toolbarActions = ActionModelRoot.CreateModel("ClearCanvas.ImageViewer.Utilities.StudyFilters.View.WinForms", StudyFilterTool.DefaultToolbarActionSite, _component.ExportedActions);

            ToolStripBuilder.ToolStripBuilderStyle defaultStyle = new ToolStripBuilder.ToolStripBuilderStyle();
            ToolStripBuilder.ToolStripBuilderStyle myStyle      = new ToolStripBuilder.ToolStripBuilderStyle(ToolStripItemDisplayStyle.ImageAndText, defaultStyle.ToolStripAlignment, defaultStyle.TextImageRelation);
            ToolStripBuilder.BuildToolbar(_toolbar.Items, toolbarActions.ChildNodes, myStyle);

            _tableView.Table       = component.Table;
            _tableView.MultiSelect = true;
            _tableView.ColumnFilterMenuStripClosed    += new EventHandler(_tableView_ColumnFilterMenuStripClosed);
            _tableView.ContextActionModelDelegate      = this.GetContextMenuModel;
            _tableView.ColumnFilterActionModelDelegate = this.GetColumnFilterMenuModel;
            _tableView.ReadOnly = true;
        }
        /// <summary>
        /// Constructor.
        /// </summary>
        public BiographyOrderReportsComponentControl(BiographyOrderReportsComponent component)
            : base(component)
        {
            _component = component;
            InitializeComponent();

            Control reportPreview = (Control)_component.ReportPreviewComponentHost.ComponentView.GuiElement;

            reportPreview.Dock = DockStyle.Fill;
            _reportPreviewPanel.Controls.Add(reportPreview);

            _reports.DataSource = _component.Reports;
            _reports.DataBindings.Add("Value", _component, "SelectedReport", true, DataSourceUpdateMode.OnPropertyChanged);
            _reports.Format += delegate(object sender, ListControlConvertEventArgs e) { e.Value = _component.FormatReportListItem(e.ListItem); };

            _toolbarActionModel = _component.ActionModel;
            ToolStripBuilder.BuildToolbar(_toolstrip.Items, _toolbarActionModel.ChildNodes);

            _component.AllPropertiesChanged += AllPropertiesChangedEventHandler;
        }
Ejemplo n.º 9
0
        /// <summary>
        /// Constructor
        /// </summary>
        public FoldersComponentControl(FoldersComponent component)
        {
            InitializeComponent();

            _component = component;

            ToolStripBuilder.BuildToolbar(_toolbar.Items, _component.ToolbarModel.ChildNodes, ToolStripItemDisplayStyle.ImageAndText);

            foreach (IFolder folder in _component.Folders)
            {
                TreeNode node = new TreeNode(folder.DisplayName);
                node.Tag = folder;

                _folderTree.Nodes.Add(node);
            }

            _component.SelectedFolderChanged += new EventHandler(_component_SelectedFolderChanged);

            // TODO add .NET databindings to _component
        }
Ejemplo n.º 10
0
        public LocalImageExplorerControl(LocalImageExplorerComponent component)
        {
            _component = component;

            _folderViewSelectionUpdatePublisher = new DelayedEventPublisher(OnFolderViewSelectionUpdatePublished);

            InitializeComponent();
            InitializeHistoryMenu();
            InitializeIcons();
            InitializeFocusList();

            SetViewMode(Settings.Default.FolderViewMode, false);
            SetHomeLocation(Settings.Default.HomeLocation);

            _folderView.ExceptionRaised += OnFolderControlExceptionRaised;
            _folderTree.ExceptionRaised += OnFolderControlExceptionRaised;

            ResetFocus();             // reset focus must happen after explorer controls are initially populated

            // Initialize menus here
            ToolStripBuilder.BuildMenu(_folderViewContextMenu.Items, _component.ContextMenuModel.ChildNodes);
            ToolStripBuilder.BuildMenu(_folderTreeContextMenu.Items, _component.ContextMenuModel.ChildNodes);
        }
Ejemplo n.º 11
0
        public void DoIt()
        {
            //create window menus
            var _windowDefs = GetWindowDefs();

            var windowMaps    = new List <WindowMapping>();
            var menuDefs      = new List <MenuDef>();
            var toolStripDefs = new List <ToolStripDef>();

            var menuDefMapping = new Dictionary <Type, MenuDef>();
            var tstDefMapping  = new Dictionary <Type, ToolStripDef>();


            //create window manager
            WindowManager wm = new WindowManager(_form, _form.dockPanel);
            //register window manager
            var autofacBuilder = new ContainerBuilder();

            autofacBuilder.RegisterInstance(wm).As <IWindowManager>();
            autofacBuilder.RegisterInstance <MainForm>(_form);
            autofacBuilder.Update(_container);


            foreach (var def in _windowDefs)
            {
                var window = CreateWindow(def, _resourceManager, _container);

                //menudef
                var m = new MenuDef()
                {
                    ParentID = 0,
                    MenuType = MenuType.Command,
                    Image    = def.ButtonImage,
                    Name     = "menu" + def.ButtonName,
                    Text     = def.MenuText,
                    SizeH    = 200,
                    SizeV    = 22,
                    //Command = new DelegateCommand(()=>_wm.ShowWindow(def.Type))
                };
                menuDefs.Add(m);
                menuDefMapping.Add(def.ViewType, m);

                //ToolstripDef
                var tsd = new ToolStripDef()
                {
                    Image   = def.ButtonImage,
                    Name    = "tst" + def.ButtonName,
                    SizeH   = 23,
                    SizeV   = 22,
                    ToolTip = def.ButtonTooltip,
                    Text    = def.ButtonText,
                    //Command = new DelegateCommand(() => _wm.ShowWindow(def.Type))
                };
                toolStripDefs.Add(tsd);
                tstDefMapping.Add(def.ViewType, tsd);

                windowMaps.Add(window);
            }


            //documents
            var docTypeList = new List <Type>();
            var _docDefs    = GetDocumentDefs();

            foreach (var def in _docDefs)
            {
                if (def.ViewType == null)
                {
                    def.ViewType = Type.GetType(string.Format("{0}, {1}", def.ClassName, def.AssemblyName));
                }

                docTypeList.Add(def.ViewType);
            }


            //register the windows
            wm.Init(new AutofacResolver(_container), windowMaps, docTypeList);
            _form.SetWindowmanager(wm);



            //Menus & toolstrip
            foreach (var m in menuDefMapping)
            {
                var type = m.Key;
                m.Value.Command = new DelegateCommand(() => wm.ShowWindow(type));
            }
            foreach (var m in tstDefMapping)
            {
                var type = m.Key;
                m.Value.Command = new DelegateCommand(() => wm.ShowWindow(type));
            }

            //Insert the menus into the main form

            MenuBuilder.InsertSubItems(_form.menuItemView, _resourceManager, menuDefs, 0);

            ToolStripBuilder.AppendItems(_form.toolBar, toolStripDefs, _resourceManager);


            RenderMenus();
        }