public override void Activate()
        {
            this._Explorer      = Manager.DatabaseExplorerController.ViewModel.View as UserControl;
            this._Explorer.Name = "dbexplorer";

            var dock = new DockablePanel("kDatabaseExplorer", "Database",
                                         _Explorer, DockStyle.Right)
            {
                SmallImage = Properties.Resources.DatabaseServer16
            };

            App.DockManager.Add(dock);

            var showDatabase = new SimpleActionItem("kView", "ODM Database",
                                                    delegate(object sender, EventArgs e)
                                                    { App.DockManager.ShowPanel("kDatabaseExplorer"); })
            {
                Key          = "kShowDatabaseExplorer",
                ToolTipText  = "Show ODM Database Explorer",
                GroupCaption = "Data",
                LargeImage   = Heiflow.Plugins.Default.Properties.Resources.DatabaseServer32
            };

            App.HeaderControl.Add(showDatabase);
            this.App.DockManager.HidePanel("kDatabaseExplorer");
            base.Activate();
        }
Exemple #2
0
        private void ShowToolsPanel()
        {
            if (Tools != null && Tools.Any())
            {
                if (_toolManager != null)
                {
                    return;
                }
                _toolManager = new Controls.ToolManager
                {
                    App      = App,
                    Legend   = App.Legend,
                    Location = new Point(208, 12),
                    Name     = "toolManager",
                    Size     = new Size(192, 308),
                    TabIndex = 1
                };

                App.CompositionContainer.ComposeParts(_toolManager);
                Shell.Controls.Add(_toolManager);

                _toolsPanel = new DockablePanel("kTools", Resources.ToolsTabText, _toolManager, DockStyle.Left)
                {
                    SmallImage = _toolManager.ImageList.Images["Hammer"]
                };
                App.DockManager.Add(_toolsPanel);
                App.AppCultureChanged += OnAppCultureChanged;
            }
            else
            {
                _toolManager = null;
                App.DockManager.Remove("kTools");
            }
        }
        public override void Activate()
        {
            _Player = new AnimationPlayer();

            var panel = new DockablePanel("kAnimation", "Animation", _Player, DockStyle.Right)
            {
                SmallImage = Resources.TrackingDataAnimationTool16
            };

            App.DockManager.Add(panel);


            var showAnimation = new SimpleActionItem("kModel", "Animation",
                                                     ShowPanel)
            {
                Key          = "kShowAnimation",
                ToolTipText  = "Show Animation Player",
                GroupCaption = "Analysis",
                LargeImage   = Resources.TrackingDataAnimationTool32,
                SortOrder    = 5
            };

            App.HeaderControl.Add(showAnimation);
            App.DockManager.HidePanel("kAnimation");
            ProjectManager.ShellService.AnimationPlayer = _Player;
            ProjectManager.ShellService.AddChild(_Player);
            base.Activate();
        }
Exemple #4
0
        //add a datasheet panel
        public void AddPanel()
        {
            var dp = new DockablePanel(strPanelKey, strPanelCaption, _frmDatasheet, DockStyle.Fill);

            dp.DefaultSortOrder = (short)pluginType;
            App.DockManager.Add(dp);
        }
Exemple #5
0
        void AddIPyPLSPanel()
        {
            var dp = new DockablePanel(kPLSModel, _panelName, _IPyPLS, DockStyle.Fill);

            dp.DefaultSortOrder = 60;
            App.DockManager.Add(dp);
        }
Exemple #6
0
        //add a datasheet panel
        public void AddPanel()
        {
            var dp = new DockablePanel(strPanelKey, strPanelCaption, cLocation, System.Windows.Forms.DockStyle.Fill);

            dp.DefaultSortOrder = (short)pluginType;
            App.DockManager.Add(dp);
        }
Exemple #7
0
        public override void Activate()
        {
            this._MainForm = new MainForm(this.App);
            this._Panel    = new DockablePanel(STR_KDataExplorer, _MainForm.Text, _MainForm.hostpanel, DockStyle.Right)
            {
                SmallImage = Resources.datasheet16
            };
            App.DockManager.Add(_Panel);

            // capture the event when the user closes the pane and unload the plugin.
            //App.DockManager.PanelClosed += (sender, e) =>
            //{
            //    if (e.ActivePanelKey == STR_KDataExplorer && !isTerminating)
            //    {
            //        Deactivate();
            //    }
            //};
            _MainForm.UILoaded();
            _MainForm.TextChanged += delegate(object sender, EventArgs e)
            {
                _Panel.Caption = _MainForm.Text;
            };
            App.DockManager.ShowPanel(STR_KDataExplorer);
            base.Activate();
        }
Exemple #8
0
 public CloseEditor(EditableDocument Document, DockablePanel Editor, bool AppClosing)
 {
     this.Document   = Document;
     this.Editor     = Editor;
     this.AppClosing = AppClosing;
     Succeeded       = false;
 }
 /// <summary>
 /// Creates a new instance of DockPanelInfo
 /// </summary>
 /// <param name="dotSpatialDockPanel">the DotSpatial DockPanel virtual object</param>
 /// <param name="weifenLuoDockPanel">The physical instance of the dock panel (a weifen luo dock contents)</param>
 /// <param name="sortOrder">the sort order</param>
 public DockPanelInfo(DockablePanel dotSpatialDockPanel, DockContent weifenLuoDockPanel, int sortOrder)
 {
     DotSpatialDockPanel = dotSpatialDockPanel;
     WeifenLuoDockPanel  = weifenLuoDockPanel;
     SortOrder           = sortOrder;
     Number = _dockPanelNumber++;
 }
        //add the panel content within the plugin
        public void AddPanel()
        {
            var dp = new DockablePanel(strPanelKey, strPanelCaption, innerIronPythonControl, DockStyle.Fill);

            dp.DefaultSortOrder = (short)pluginType;
            App.DockManager.Add(dp);
        }
Exemple #11
0
        public override void Activate()
        {
            ((SeriesSelector)MainSeriesSelector).ParentPlugin = this;

            //add the series selector
            App.DockManager.ActivePanelChanged       += DockManager_ActivePanelChanged;
            ((SeriesSelector)MainSeriesSelector).Dock = DockStyle.Fill;
            var timeSeriesPanel = new DockablePanel
            {
                Key              = SeriesViewKey,
                Caption          = "time series",
                InnerControl     = (SeriesSelector)MainSeriesSelector,
                Dock             = DockStyle.Left,
                SmallImage       = Properties.Resources.timeSeries,
                DefaultSortOrder = 1000
            };

            App.DockManager.Add(timeSeriesPanel);

            App.HeaderControl.Add(new RootItem(_tableRootKey, "Table")
            {
                SortOrder = 20
            });

            base.Activate();
        }
Exemple #12
0
        void AddMLRPanel()
        {
            var dp = new DockablePanel(kIPyPrediction, _panelName, _frmIPyPred, DockStyle.Fill);

            dp.DefaultSortOrder = 80;
            App.DockManager.Add(dp);
        }
Exemple #13
0
        void AddDatasheetPanel()
        {
            var dp = new DockablePanel(kDataSheet, _panelName, _frmDatasheet, DockStyle.Fill);

            dp.DefaultSortOrder = 200;
            App.DockManager.Add(dp);
        }
Exemple #14
0
        void AddHydroRPanel()
        {
            //HydroR dock panel should be preferentially added after "graph"
            var dp = new DockablePanel(kHydroR, _panelName, _hydroRControl, DockStyle.Fill);

            dp.DefaultSortOrder = 40;
            App.DockManager.Add(dp);
        }
Exemple #15
0
 /// <summary>
 /// Adds the given panel .
 /// </summary>
 /// <param name="panel">Panel that should be added.</param>
 public void Add(DockablePanel panel)
 {
     if (!_isActivated)
     {
         return;
     }
     _dockManager.Add(panel);
 }
Exemple #16
0
        private void AddDockingPane()
        {
            var           form       = new AboutBox();
            DockablePanel aboutPanel = new DockablePanel(AboutPanelKey, "About", form.tableLayoutPanel, DockStyle.Right);

            App.DockManager.Add(aboutPanel);
            form.okButton.Click += okButton_Click;
            App.DockManager.ActivePanelChanged += DockManager_ActivePanelChanged;
        }
Exemple #17
0
 private void UpdateSmallImage(DockablePanel panel, DockPanel dockPanel)
 {
     if (panel.SmallImage != null)
     {
         ImageCollection images = (ImageCollection)dockManager.Images;
         images.AddImage(panel.SmallImage, panel.Key);
         dockPanel.ImageIndex = images.Images.Count - 1;
     }
 }
Exemple #18
0
 private void ShowMap()
 {
     _map = new Map {
         Text = "Map", Name = "Map", Legend = App.Legend
     };
     App.Map   = _map;
     _mapPanel = new DockablePanel("kMap", SimpleMap.Map_Caption, _map, DockStyle.Fill);
     App.DockManager.Add(_mapPanel);
 }
Exemple #19
0
        private void AddDockingPane()
        {
            var form = new AboutBox();

            form.okButton.Click += (o, args) => App.DockManager.HidePanel(AboutPanelKey);

            var aboutPanel = new DockablePanel(AboutPanelKey, "About", form.tableLayoutPanel, DockStyle.Right);

            App.DockManager.Add(aboutPanel);
        }
Exemple #20
0
        private void AddDockingPane()
        {
            var           form      = new pvMapForm();
            DockablePanel mainPanel = new DockablePanel(PvMapperPanelKey, "PvMapper Desktop", form.tableLayoutPanel, DockStyle.Left);

            App.DockManager.Add(mainPanel);
            App.DockManager.ActivePanelChanged += DockManager_ActivePanelChanged;
            //pvMap = App.Map as Map;
            form.pvMap = App.Map as Map;
        }
Exemple #21
0
        public void Add(DockablePanel panel)
        {
            System.Windows.Forms.TabPage tabPage = new TabPage();

            tabPage.Controls.Add(panel.InnerControl);
            panel.InnerControl.Dock = DockStyle.Fill;
            tabPage.Name            = panel.Key;
            tabPage.Text            = panel.Caption;

            this.uxTabControl.Controls.Add(tabPage);
        }
Exemple #22
0
        /// <inheritdoc />
        public override void Activate()
        {
            _dgvSelection = new DgvSelect();

            _selectPanel = new DockablePanel("kSetSelectable", LocalizationStrings.PanelHeader, _dgvSelection, DockStyle.Left);
            App.DockManager.Add(_selectPanel);
            App.SerializationManager.Deserializing += SerializationManagerDeserializing;
            AttachLayerAddedEvents();
            App.Legend.UseLegendForSelection = false;
            App.AppCultureChanged           += OnAppCultureChanged;
            base.Activate();
        }
Exemple #23
0
        public void Add(DockablePanel panel)
        {
            Guard.ArgumentNotNull(panel, "panel");
            // we can't generate the Name (key) since we need it to persist with the dock panel layout.
            Guard.ArgumentNotNull(panel.Key, "Key");
            Guard.ArgumentNotNull(panel.InnerControl, "Panel");

            DockingStyle style = ConvertToDockingStyle(panel.Dock);
            DockPanel    dockPanel;

            if (panel.Dock == DockStyle.Fill)
            {
                // A dock panel cannot be created and docked to the form using the DockingStyle.Fill style,
                // that is a panel cannot occupy the form entirely. It can only be docked to the form's edge
                // or float.

                if (isFormLoaded)
                {
                    dockPanel = dockManager.AddPanel(DockingStyle.Float);
                }
                else
                {
                    loadingDeferredDockPanels.Add(panel);
                    return;
                }
            }
            else
            {
                dockPanel = CreatePanel(style);
            }

            dockPanel.Text   = panel.Caption;
            dockPanel.Width  = panel.InnerControl.Width;
            dockPanel.Height = panel.InnerControl.Height;
            dockPanel.Name   = panel.Key;
            dockPanel.ID     = StringToGuid(panel.Key); // allows us to serialize layout.
            UpdateSmallImage(panel, dockPanel);
            if (style == DockingStyle.Float)
            {
                dockPanel.FloatSize     = new System.Drawing.Size(panel.InnerControl.Width, panel.InnerControl.Height);
                dockPanel.FloatLocation = new System.Drawing.Point(Shell.Location.X + 200, Shell.Location.Y + 100);
                dockPanel.Visibility    = DockVisibility.Hidden;
            }
            dockPanel.Controls.Add(panel.InnerControl);
            panel.InnerControl.Dock = DockStyle.Fill;

            if (panel.Dock == DockStyle.Fill)
            {
                tabbedView.Controller.Dock(dockPanel);
            }
            panel.PropertyChanged += new System.ComponentModel.PropertyChangedEventHandler(panel_PropertyChanged);
            OnPanelAdded(new DockablePanelEventArgs(panel.Key));
        }
        void AddSeriesDockPanel()
        {
            //add the series selector
            ((SeriesSelector)MainSeriesSelector).Dock = DockStyle.Fill;

            var timeSeriesPanel = new DockablePanel
            {
                Key              = SeriesViewKey,
                Caption          = "time series",
                InnerControl     = (SeriesSelector)MainSeriesSelector,
                Dock             = DockStyle.Left,
                SmallImage       = Properties.Resources.timeSeries,
                DefaultSortOrder = 1000
            };

            App.DockManager.Add(timeSeriesPanel);
            firstTimeActivating = false;
        }
Exemple #25
0
        private void ShowLegend()
        {
            var legend1 = new Legend {
                Text = Resources.Legend
            };

            if (App.Map != null)
            {
                App.Map.Legend = legend1;
            }

            App.Legend   = legend1;
            _legendPanel = new DockablePanel("kLegend", Resources.Legend, legend1, DockStyle.Left)
            {
                SmallImage = Resources.legend_16x16
            };
            App.DockManager.Add(_legendPanel);
        }
Exemple #26
0
        //void DockManager_PanelAdded(object sender, DockablePanelEventArgs e)
        //{
        //    //the 'Table' dockable panel should follow after 'Map'
        //    if (e.ActivePanelKey == "kMap")
        //        AddTableViewPanel();
        //}

        void AddTableViewPanel()
        {
            // Add "Table View Plugin" dock panel to the SeriesView
            tableViewControl = new cTableView(this)
            {
                Dock = DockStyle.Fill
            };
            var tableViewPanel = new DockablePanel
            {
                Key              = kTableView,
                Caption          = _tablePanelName,
                InnerControl     = tableViewControl,
                Dock             = DockStyle.Fill,
                DefaultSortOrder = 10
            };

            App.DockManager.Add(tableViewPanel);
            App.DockManager.ActivePanelChanged += DockManager_ActivePanelChanged;
        }
Exemple #27
0
        void Add_HM_Panel()
        {
            // Add a dockable panel
            hydroModelerControl = new mainTab(App, rps_dict, ((TextEntryActionItem)rps_dict["dirbox"]).Text);
            var hmDockPanel = new DockablePanel(kHydroModelerDock, _pluginName, hydroModelerControl, DockStyle.Fill);

            hmDockPanel.DefaultSortOrder = 1000; //HydroModeler should be the last dockable panel by default
            App.DockManager.Add(hmDockPanel);

            // set the initial text for the dirbox
            try
            {
                Directory.SetCurrentDirectory(AppDomain.CurrentDomain.BaseDirectory);
                string start_path = Path.GetFullPath(HydroModeler.Properties.Resources.startpath);
                if (Directory.Exists(start_path))
                {
                    ((TextEntryActionItem)rps_dict["dirbox"]).Text = start_path;
                }
                else
                {
                    ((TextEntryActionItem)rps_dict["dirbox"]).Text = "C:\\";
                }
            }
            catch
            {
                ((TextEntryActionItem)rps_dict["dirbox"]).Text = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Plugins\\HydroModeler\\"); //C:\\";
            }

            // update filelist
            string text = ((TextEntryActionItem)rps_dict["dirbox"]).Text;

            hydroModelerControl.filelist_update(text);

            // set pan mouse image
            hydroModelerControl.Image_Path = ImagePath;

            // add event for when HM panel is selected
            App.DockManager.ActivePanelChanged += new EventHandler <DotSpatial.Controls.Docking.DockablePanelEventArgs>(HM_Panel_Selected);

            App.HeaderControl.RootItemSelected += new EventHandler <RootItemEventArgs>(HeaderControl_RootItemSelected);
        }
Exemple #28
0
        /// <inheritdoc />
        public void Add(DockablePanel panel)
        {
            if (panel == null)
            {
                throw new ArgumentNullException(nameof(panel));
            }

            TabControl tabControl;

            if (panel.Dock == DockStyle.Left || panel.Dock == DockStyle.Top)
            {
                tabControl = TabControl1;
            }
            else
            {
                tabControl = TabControl2;
            }

            if (tabControl == null)
            {
                return;
            }

            var tabPage = new TabPage
            {
                Name = panel.Key,
                Text = panel.Caption,
            };

            tabPage.VisibleChanged += TabPageOnVisibleChanged;

            panel.InnerControl.Dock = DockStyle.Fill;
            panel.PropertyChanged  += TabPageOnPropertyChanged;
            tabPage.Controls.Add(panel.InnerControl);

            _allTabs.Add(panel.Key, tabPage);
            tabControl.TabPages.Add(tabPage);
            OnPanelAdded(new DockablePanelEventArgs(panel.Key));
            OnActivePanelChanged(new DockablePanelEventArgs(panel.Key));
        }
Exemple #29
0
        public override void Activate()
        {
            App.HeaderControl.Add(new SimpleActionItem(HeaderControl.HomeRootItemKey, "View Attribute Table", AttributeTable_Click)
            {
                GroupCaption = "Map Tool",
                SmallImage   = Resources.table_green_48,
                LargeImage   = Resources.table_green_48
            });
            App.Map.LayerAdded += Map_LayerAdded;
            App.SerializationManager.Deserializing += SerializationManager_Deserializing;
            // TODO: if layers were loaded before this plugin, do something about adding them to the context menu.

            _TableEditorControl      = new TableEditorControl();
            _TableEditorControl.Size = new System.Drawing.Size(800, 600);
            var dock = new DockablePanel("kAttributeTable", "Attribute Table", _TableEditorControl, DockStyle.None)
            {
                SmallImage = Properties.Resources.table_green_48,
            };

            App.DockManager.Add(dock);

            base.Activate();
        }
Exemple #30
0
        /// <summary>
        /// Initializes a new instance of the <see cref="MainForm"/> class.
        /// </summary>
        public MainForm()
        {
            InitializeComponent();

            //It looks better if we Maximize the main window,
            //but the Form.Owner property doesn't seem to do anything when running on Mono, so for now only maximize if on Windows.
            this.WindowState = FormWindowState.Maximized;
            appManager       = new AppManager();
            appManager.Map   = new Map();
            LoadCustomBranding(Properties.Settings.Default);

            appManager.SatisfyImportsExtensionsActivated +=
                delegate
            {
                DockablePanel dp = new DockablePanel("kMap", "Map", (Map)appManager.Map, DockStyle.Fill)
                {
                    SmallImage = Properties.Resources.map_16x16
                };
                appManager.DockManager.Add(dp);
                NavigationControl nc = new NavigationControl(appManager);
                nc.Parent = (UserControl)appManager.Map;
                nc.Show();
            };

            Shell = this;
            appManager.LoadExtensions();
            // Hack: HydroDockManager need to know time when all plugins are activated to save initial layout of dock-panels
            // (this need to working of HydroDockManager.ResetLayout() method).
            // appManager.ExtensionsActivated is not suitable, because plugins also can change dock-panels there.
            // To avoid direct referencing from MainForm to HydroDockManager (or vice versa),
            // we just send needed info through Add() method.
            appManager.DockManager.Add(new DockablePanel {
                Key = "save_snapshot"
            });

            appManager.ProgressHandler.Progress("", 0, "Go to the extension manager to find additional extensions!");
        }