private void RibbonSplitButton_DropDownOpened(object sender, EventArgs e)
        {
            if (GisEditor.ActiveMap != null)
            {
                editingLayerMenuItem.Visibility = (GisEditor.ActiveMap.FeatureLayerEditOverlay != null &&
                                                   GisEditor.ActiveMap.FeatureLayerEditOverlay.EditTargetLayer != null) ? Visibility.Visible : Visibility.Collapsed;

                foreach (var item in needToRemove)
                {
                    ribbonSplitButton.Items.Remove(item);
                }
                needToRemove.Clear();

                var visibleInMemoryLayers = GisEditor.ActiveMap.GetFeatureLayers(true).OfType <InMemoryFeatureLayer>().ToList();
                if (visibleInMemoryLayers.Count > 0)
                {
                    RibbonSeparator ribbonSeparator = new RibbonSeparator();
                    needToRemove.Add(ribbonSeparator);
                    ribbonSplitButton.Items.Add(ribbonSeparator);

                    foreach (var item in visibleInMemoryLayers)
                    {
                        RibbonMenuItem ribbonMenuItem = new RibbonMenuItem();
                        ribbonMenuItem.Header = item.Name;
                        ribbonMenuItem.Tag    = item;
                        ribbonMenuItem.Click += new RoutedEventHandler(CopyToExistingLayerRibbonMenuItem_Click);
                        ribbonSplitButton.Items.Add(ribbonMenuItem);
                        needToRemove.Add(ribbonMenuItem);
                    }
                }
            }
        }
Example #2
0
        // 当菜单将动态属性
        // 设置为 true 并且用户单击下拉菜单时会激发“菜单项正在加载”事件。这允许在运行时动态
        // 添加菜单项。
        private void mDynamicMenu_ItemsLoading(object sender, RibbonControlEventArgs e)
        {
            mDynamicMenu.Items.Clear();

            if (cbButton.Checked)
            {
                RibbonButton tmp = this.Factory.CreateRibbonButton();
                tmp.Label = "Button";
                mDynamicMenu.Items.Add(tmp);
            }

            if (cbSeparator.Checked)
            {
                RibbonSeparator tmp = this.Factory.CreateRibbonSeparator();
                tmp.Title = "Menu Separator";
                mDynamicMenu.Items.Add(tmp);
            }

            if (cbSubMenu.Checked)
            {
                RibbonButton subButton = this.Factory.CreateRibbonButton();
                subButton.Label         = "SubMenu Button";
                subButton.OfficeImageId = "_3DMaterialMetal";
                subButton.Description   = "Large Button in a Sub Menu";

                RibbonMenu mSubMenu = this.Factory.CreateRibbonMenu();
                mSubMenu.ItemSize = Microsoft.Office.Core.RibbonControlSize.RibbonControlSizeLarge;
                mSubMenu.Label    = "Sub Menu";

                mSubMenu.Items.Add(subButton);
                mDynamicMenu.Items.Add(mSubMenu);
            }
        }
 /// <summary>
 ///     Gets the height that a separator should be on the DropDown
 /// </summary>
 /// <param name="s"></param>
 /// <returns></returns>
 private int SeparatorHeight(RibbonSeparator s)
 {
     if (!string.IsNullOrEmpty(s.Text))
     {
         return(20);
     }
     return(3);
 }
        public static void AddRibbonButton(Ribbon ribbon,
                                           string tabText,
                                           string buttonName,
                                           string text,
                                           Image image,
                                           string tooltip,
                                           bool enable,
                                           bool isChecked,
                                           RibbonButtonAlignment alignment,
                                           EventHandler clickHandler)
        {
            if (ribbon == null)
            {
                return;
            }

            RibbonItem ribbonItem = null;

            if (RibbonModulePluginProvider.Ribbon_Separator.Equals(buttonName))
            {
                ribbonItem = new RibbonSeparator();
            }
            else
            {
                ribbonItem         = new RibbonButton();
                ribbonItem.Text    = text;
                ribbonItem.Image   = image;
                ribbonItem.ToolTip = tooltip;
                ribbonItem.Enabled = enable;
                ribbonItem.Checked = isChecked;
                ribbonItem.Click  += new EventHandler(clickHandler);
            }

            ribbonItem.Name = buttonName;

            RibbonTab ribbonTab = RibbonHelper.FindRibbonTab(ribbon, tabText);

            if (ribbonTab == null)
            {
                return;
            }

            int panelIndex = alignment == RibbonButtonAlignment.Right ? 1 : 0;

            ribbonTab.Panels[panelIndex].Items.Add(ribbonItem);
        }
Example #5
0
        protected override void PrepareContainerForItemOverride(DependencyObject element, object item)
        {
            base.PrepareContainerForItemOverride(element, item);

            if (element is RibbonGallery)
            {
                HasGallery = (++_galleryCount > 0);
            }
            else
            {
                RibbonSeparator separator = element as RibbonSeparator;
                if (separator != null)
                {
                    ValueSource vs = DependencyPropertyHelper.GetValueSource(separator, StyleProperty);
                    if (vs.BaseValueSource <= BaseValueSource.ImplicitStyleReference)
                    {
                        separator.SetResourceReference(StyleProperty, MenuItem.SeparatorStyleKey);
                    }

                    separator.DefaultStyleKeyInternal = MenuItem.SeparatorStyleKey;
                }
            }
        }
Example #6
0
        public void Fill()
        {
            if (_data.Rows.Count == 0)
            {
                return;
            }

            //Obtenemos un DataView filtrando todos o que tengan el tipo Tab
            //entonces el campo MenuTipoID debe ser igual a 1
            DataView dvHijos = new DataView(_data);

            dvHijos.RowFilter = "MenuTipoID=1";

            foreach (DataRowView drvHijos in dvHijos)
            {
                RibbonTab   rbTab;
                RibbonGroup rbGroup = new RibbonGroup();

                // Creamos el Tab
                rbTab = _objRibbon.Tabs.Add(drvHijos["NomMenu"].ToString().Trim());

                DataView dvGroups = new DataView(_data);
                dvGroups.RowFilter = "MenuPadreID=" + drvHijos["MenuID"].ToString().Trim();
                dvGroups.Sort      = "MenuCodigo ASC";
                foreach (DataRowView drvGroupItem in dvGroups)
                {
                    // Creamos el Grupo
                    rbGroup = rbTab.Groups.Add(drvGroupItem["NomMenu"].ToString().Trim());

                    // Busquemos sus botones para agregar
                    DataView dvItems = new DataView(_data);
                    dvItems.RowFilter = "MenuPadreID=" + drvGroupItem["MenuID"].ToString().Trim();
                    dvItems.Sort      = "MenuCodigo ASC";
                    foreach (DataRowView drvItem in dvItems)
                    {
                        if (Convert.ToInt32(drvItem["MenuTipoID"]) == 2)
                        {
                            // Creamos el Boton
                            RibbonButton rbutton;
                            rbutton         = new RibbonButton();
                            rbutton.Text    = drvItem["NomMenu"].ToString().Trim();
                            rbutton.ToolTip = drvItem["NomMenu"].ToString().Trim();
                            rbutton.ID      = drvItem["MenuCodigo"].ToString().Trim() + ";" + drvItem["Ensamblado"].ToString().Trim() + ";" + drvItem["Clase"].ToString().Trim();

                            // Debe se asegurarse que el nombre de la imagen sin extension sea exactamente el mismo al
                            // ResourceImage de la base de datos
                            if (drvItem["Imagen"].ToString().Trim() != "")
                            {
                                rbutton.LargeImage = (Image)Halley.Presentacion.Properties.Resources.ResourceManager.GetObject(drvItem["Imagen"].ToString().Trim());
                                if (Convert.ToBoolean(drvItem["LargeImage"]) == true)
                                {
                                    rbutton.TextImageRelation = TextImageRelation.ImageAboveText;
                                }
                                else
                                {
                                    rbutton.TextImageRelation = TextImageRelation.ImageBeforeText;
                                }
                            }
                            rbutton.Tag = drvItem["ModoCargaVentana"].ToString().Trim();

                            rbGroup.Items.Add(rbutton);
                            // Asignamos el evento para saber cuando pulsamos el boton
                            rbutton.Click += new EventHandler(rbutton_Click);
                        }
                        else if (Convert.ToInt32(drvItem["MenuTipoID"]) == 3)
                        {
                            // Creamos los Separadores
                            RibbonSeparator rbSep = new RibbonSeparator();
                            rbSep.ID = drvItem["MenuCodigo"].ToString().Trim();
                            rbGroup.Items.Add(rbSep);
                        }
                        //agregado para ver el split
                        else if (Convert.ToInt32(drvItem["MenuTipoID"]) == 5)
                        {
                            // Creamos el SplitBoton
                            RibbonSplitButton Splitrbutton;
                            Splitrbutton         = new RibbonSplitButton();
                            Splitrbutton.Text    = drvItem["NomMenu"].ToString().Trim();
                            Splitrbutton.ToolTip = drvItem["NomMenu"].ToString().Trim();

                            // Debe se asegurarse que el nombre de la imagen sin extension sea exactamente el mismo al
                            // ResourceImage de la base de datos
                            if (drvItem["Imagen"].ToString().Trim() != "")
                            {
                                Splitrbutton.LargeImage = (Image)Halley.Presentacion.Properties.Resources.ResourceManager.GetObject(drvItem["Imagen"].ToString().Trim());
                                if (Convert.ToBoolean(drvItem["LargeImage"]) == true)
                                {
                                    Splitrbutton.TextImageRelation = TextImageRelation.ImageAboveText;
                                }
                                else
                                {
                                    Splitrbutton.TextImageRelation = TextImageRelation.ImageBeforeText;
                                }
                            }

                            //agregado  para que el split tenga botenes hijos
                            DataView dvSplitHijos = new DataView(_data);
                            dvSplitHijos.RowFilter = "MenuPadreID=" + drvItem["MenuID"].ToString().Trim();
                            foreach (DataRowView drvSplit in dvSplitHijos)
                            {
                                if (Convert.ToInt32(drvSplit["MenuTipoID"]) == 2 && drvSplit["MenuCodigo"].ToString().Length == 10)
                                {
                                    // Creamos el Boton
                                    RibbonButton rbutton;
                                    rbutton         = new RibbonButton();
                                    rbutton.Text    = drvSplit["NomMenu"].ToString().Trim();
                                    rbutton.ToolTip = drvSplit["NomMenu"].ToString().Trim();
                                    rbutton.ID      = drvSplit["MenuCodigo"].ToString().Trim() + ";" + drvSplit["Ensamblado"].ToString().Trim() + ";" + drvSplit["Clase"].ToString().Trim();

                                    // Debe se asegurarse que el nombre de la imagen sin extension sea exactamente el mismo al
                                    // ResourceImage de la base de datos
                                    if (drvSplit["Imagen"].ToString().Trim() != "")
                                    {
                                        rbutton.LargeImage = (Image)Halley.Presentacion.Properties.Resources.ResourceManager.GetObject(drvSplit["Imagen"].ToString().Trim());
                                        if (Convert.ToBoolean(drvSplit["LargeImage"]) == true)
                                        {
                                            rbutton.TextImageRelation = TextImageRelation.ImageAboveText;
                                        }
                                        else
                                        {
                                            rbutton.TextImageRelation = TextImageRelation.ImageBeforeText;
                                        }
                                    }
                                    rbutton.Tag = drvSplit["ModoCargaVentana"].ToString().Trim();

                                    Splitrbutton.Items.Add(rbutton);
                                    // Asignamos el evento para saber cuando pulsamos el boton
                                    rbutton.Click += new EventHandler(rbutton_Click);
                                }
                            }
                            rbGroup.Items.Add(Splitrbutton);
                        }
                    }
                }
            }

            // poniendo el foco en el primer tab creado
            _objRibbon.Tabs[0].Selected = true;
        }
Example #7
0
    public void IconButton()

    {
        //タブに同じものがない場合は実行されるようにする
        if (!_added)
        {
            RibbonControl ribbonControl = ComponentManager.Ribbon;

            RibbonTab Tab = null;

            foreach (RibbonTab tab in ribbonControl.Tabs)
            {
                if (tab.AutomationName == "Extra")
                {
                    Tab = tab;
                    break;
                }
            }
            if (Tab == null)
            {
                //タブの作成
                Tab       = new RibbonTab();
                Tab.Title = "Extra";
                Tab.Id    = "EXTRA_TAB_ID";
                ribbonControl.Tabs.Add(Tab);

                //パネルの作成
                RibbonPanelSource srcPanel = new RibbonPanelSource();
                srcPanel.Title = "CreateLinefromCSV";
                srcPanel.Id    = "CREATELINEFROMCSV_ID";

                RibbonPanel Panel = new RibbonPanel();
                Panel.Source = srcPanel;
                Tab.Panels.Add(Panel);

                //ボタンの作成、コマンドハンドラー実装
                RibbonButton button = new RibbonButton();
                button.CommandHandler   = new CommandHandler();
                button.CommandParameter = "._HelloWorld ";


                // 埋め込みソースの画像を使う場合には名前空間.画像名とします
                button.Text       = "CreateLinefromCSV";
                button.Size       = RibbonItemSize.Large;
                button.Image      = LoadImage("AMDsample.Logo100.jpg", 32, 32);
                button.LargeImage = LoadImage("AMDsample.Logo100.jpg", 64, 64);
                button.ShowText   = true;

                RibbonRowPanel ribRowPanel = new RibbonRowPanel();
                ribRowPanel.Items.Add(button);
                ribRowPanel.Items.Add(new RibbonRowBreak());

                srcPanel.Items.Add(ribRowPanel);

                RibbonSeparator rsP = new RibbonSeparator();
                rsP.SeparatorStyle = RibbonSeparatorStyle.Invisible;
                srcPanel.Items.Add(rsP);


                Tab.IsActive = true;
                _added       = true;
            }
        }
    }
 /// <summary>
 ///   Initializes automation peer for RibbonSeparator.
 /// </summary>
 public RibbonSeparatorAutomationPeer(RibbonSeparator owner) : base(owner)
 {
 }
        public void DrawSeparator(Graphics g, RibbonSeparator separator)
        {
            if (separator.SizeMode == RibbonElementSizeMode.DropDown)
            {
                if (!string.IsNullOrEmpty(separator.Text))
                {
                    using (SolidBrush b = new SolidBrush(ColorTable.SeparatorBg))
                    {
                        g.FillRectangle(b, separator.Bounds);
                    }

                    using (Pen p = new Pen(ColorTable.SeparatorLine))
                    {
                        g.DrawLine(p,
                            new Point(separator.Bounds.Left, separator.Bounds.Bottom),
                            new Point(separator.Bounds.Right, separator.Bounds.Bottom));
                    }
                }
                else
                {
                    using (Pen p = new Pen(ColorTable.DropDownImageSeparator))
                    {
                        g.DrawLine(p,
                            new Point(separator.Bounds.Left + 30, separator.Bounds.Top + 1),
                            new Point(separator.Bounds.Right, separator.Bounds.Top + 1));
                    }
                }
            }
            else
            {
                using (Pen p = new Pen(ColorTable.SeparatorDark))
                {
                    g.DrawLine(p,
                        new Point(separator.Bounds.Left, separator.Bounds.Top),
                        new Point(separator.Bounds.Left, separator.Bounds.Bottom));
                }

                using (Pen p = new Pen(ColorTable.SeparatorLight))
                {
                    g.DrawLine(p,
                        new Point(separator.Bounds.Left + 1, separator.Bounds.Top),
                        new Point(separator.Bounds.Left + 1, separator.Bounds.Bottom));
                }
            }
        }
        /// <summary>
        /// Gets the height that a separator should be on the DropDown
        /// </summary>
        /// <param name="s"></param>
        /// <returns></returns>
        private int SeparatorHeight(RibbonSeparator s)
        {
            if (!string.IsNullOrEmpty(s.Text))
            {
                return 20;
            }

            return 3;
        }
Example #11
0
        protected virtual void InitCommands(RibbonPanel panel)
        {
            RibbonSeparator separator = new RibbonSeparator();

            panel.Items.Add(separator);
        }
Example #12
0
        private void InitPane()
        {
            var panel = new RibbonPanel("Default");

            var btnCopyToRight = new RibbonButton("Copy to right");

            panel.Items.Add(btnCopyToRight);
            btnCopyToRight.Click     += btnCopyToRight_Click;
            btnCopyToRight.Image      = Properties.Resources.right_normal;
            btnCopyToRight.SmallImage = Properties.Resources.right_normal;

            var btnCopyToLeft = new RibbonButton("Copy to left");

            panel.Items.Add(btnCopyToLeft);
            btnCopyToLeft.Click     += btnCopyToLeft_Click;
            btnCopyToLeft.Image      = Properties.Resources.left_normal;
            btnCopyToLeft.SmallImage = Properties.Resources.left_normal;


            var delimiter1 = new RibbonSeparator();

            panel.Items.Add(delimiter1);


            btnSaveLeft = new RibbonButton("Save left");
            panel.Items.Add(btnSaveLeft);
            btnSaveLeft.Click     += btnSaveLeft_Click;
            btnSaveLeft.Image      = Properties.Resources.Save;
            btnSaveLeft.SmallImage = Properties.Resources.Save;
            btnSaveLeft.Enabled    = false;

            btnSaveRight = new RibbonButton("Save right");
            panel.Items.Add(btnSaveRight);
            btnSaveRight.Click     += btnSaveRight_Click;
            btnSaveRight.Image      = Properties.Resources.Save;
            btnSaveRight.SmallImage = Properties.Resources.Save;
            btnSaveRight.Enabled    = false;

            btnSaveAll = new RibbonButton("Save all");
            panel.Items.Add(btnSaveAll);
            btnSaveAll.Click     += btnSaveAll_Click;
            btnSaveAll.Image      = Properties.Resources.SaveAll;
            btnSaveAll.SmallImage = Properties.Resources.SaveAll;
            btnSaveAll.Enabled    = false;


            var delimiter = new RibbonSeparator();

            panel.Items.Add(delimiter);


            var btnRecalculate = new RibbonButton("Re-calculate");

            panel.Items.Add(btnRecalculate);
            btnRecalculate.Click     += btnRecalculate_Click;
            btnRecalculate.Image      = Properties.Resources.CalcScores;
            btnRecalculate.SmallImage = Properties.Resources.CalcScores;


            this.ribbonTabMain.Panels.Add(panel);


            this.splitContainer.SplitterDistance = this.Width / 2;
        }
Example #13
0
        //Ribbon hinzufügen
        public void addRessourceTab()
        {
            RibbonSeparator separator = new RibbonSeparator();

            separator.SeparatorStyle = RibbonSeparatorStyle.Spacer;

            //**************
            //PanelSource IO
            RibbonPanelSource panelSrcIO = new RibbonPanelSource();

            panelSrcIO.Title = "Punkte Import/Export";

            //Pt Import
            RibbonButton bt_PtImport = new RibbonButton();

            bt_PtImport.Id                    = "PtImport";
            bt_PtImport.Text                  = "Punkte importieren";
            bt_PtImport.Image                 = myUtilities.Media.Images.ToImageSource(global::CAS2018.Resources.IN_small);
            bt_PtImport.LargeImage            = myUtilities.Media.Images.ToImageSource(global::CAS2018.Resources.IN_small);
            bt_PtImport.Orientation           = System.Windows.Controls.Orientation.Horizontal;
            bt_PtImport.Size                  = RibbonItemSize.Standard;
            bt_PtImport.ShowText              = false;
            bt_PtImport.ShowImage             = true;
            bt_PtImport.CommandHandler        = new RibbonCommandHandler();
            bt_PtImport.ShowToolTipOnDisabled = true;
            bt_PtImport.Description           = "Punkte importieren";

            //Import 3d?
            RibbonCheckBox ribchkBoxImport3d = new RibbonCheckBox();

            ribchkBoxImport3d.Id               = "PtImport3d";
            ribchkBoxImport3d.Text             = "3d";
            ribchkBoxImport3d.Initialized     += new EventHandler(ribchkBoxImport3d_Initialized);
            ribchkBoxImport3d.PropertyChanged += new System.ComponentModel.PropertyChangedEventHandler(ribchkBoxImport3d_PropertyChanged);
            ribchkBoxImport3d.CommandHandler   = new RibbonCommandHandler();

            //Pt Export
            RibbonButton bt_PtExport = new RibbonButton();

            bt_PtExport.Id                    = "PtExport";
            bt_PtExport.Text                  = "Punkte exportieren";
            bt_PtExport.Image                 = myUtilities.Media.Images.ToImageSource(global::CAS2018.Resources.Out_small);
            bt_PtExport.LargeImage            = myUtilities.Media.Images.ToImageSource(global::CAS2018.Resources.Out);
            bt_PtExport.Orientation           = System.Windows.Controls.Orientation.Horizontal;
            bt_PtExport.Size                  = RibbonItemSize.Standard;
            bt_PtExport.ShowText              = false;
            bt_PtExport.ShowImage             = true;
            bt_PtExport.CommandHandler        = new RibbonCommandHandler();
            bt_PtExport.ShowToolTipOnDisabled = true;
            bt_PtExport.Description           = "Punkte exportieren";

            //ComboBox für aktuellen Punktlayer
            RibbonCombo ribCB_Basislayer = new RibbonCombo();

            ribCB_Basislayer.Text            = "Basislayer:";
            ribCB_Basislayer.ShowText        = true;
            ribCB_Basislayer.MinWidth        = 100;
            ribCB_Basislayer.DropDownWidth   = 150;
            ribCB_Basislayer.Initialized    += new EventHandler(ribCB_Basislayer_Initialized);
            ribCB_Basislayer.CurrentChanged += new EventHandler <RibbonPropertyChangedEventArgs>(ribCB_Basislayer_CurrentChanged);
            ribCB_Basislayer.DropDownOpened += new EventHandler <EventArgs>(ribCB_Basislayer_DropDownOpened);

            RibbonRowPanel rowPanel_IO = new RibbonRowPanel();

            rowPanel_IO.Items.Add(bt_PtImport);
            rowPanel_IO.Items.Add(ribchkBoxImport3d);
            rowPanel_IO.Items.Add(new RibbonRowBreak());
            rowPanel_IO.Items.Add(bt_PtExport);
            rowPanel_IO.Items.Add(separator);
            rowPanel_IO.Items.Add(ribCB_Basislayer);
            panelSrcIO.Items.Add(rowPanel_IO);


            //**************
            //PanelSource Tools
            Autodesk.Windows.RibbonPanelSource panelSrcTools = new Autodesk.Windows.RibbonPanelSource();
            panelSrcTools.Title = "Tools";

            //Punkte einfügen
            Autodesk.Windows.RibbonButton bt_PtIns = new Autodesk.Windows.RibbonButton();
            bt_PtIns.Id                    = "PtIns";
            bt_PtIns.Text                  = "Punkte einfügen";
            bt_PtIns.Image                 = myUtilities.Media.Images.ToImageSource(global::CAS2018.Resources.BlockManipulation);
            bt_PtIns.LargeImage            = myUtilities.Media.Images.ToImageSource(global::CAS2018.Resources.BlockManipulation);
            bt_PtIns.Orientation           = System.Windows.Controls.Orientation.Horizontal;
            bt_PtIns.Size                  = Autodesk.Windows.RibbonItemSize.Standard;
            bt_PtIns.ShowText              = false;
            bt_PtIns.ShowImage             = true;
            bt_PtIns.CommandHandler        = new RibbonCommandHandler();
            bt_PtIns.ShowToolTipOnDisabled = true;
            bt_PtIns.Description           = "Punkte einfügen";

            //Blockattribute Pre-/Suffix
            Autodesk.Windows.RibbonButton bt_attPreSuf = new Autodesk.Windows.RibbonButton();
            bt_attPreSuf.Id                    = "BlockManipulator";
            bt_attPreSuf.Text                  = "Block Operationen";
            bt_attPreSuf.Image                 = myUtilities.Media.Images.ToImageSource(global::CAS2018.Resources.BlockManipulation);
            bt_attPreSuf.LargeImage            = myUtilities.Media.Images.ToImageSource(global::CAS2018.Resources.BlockManipulation);
            bt_attPreSuf.Orientation           = System.Windows.Controls.Orientation.Horizontal;
            bt_attPreSuf.Size                  = Autodesk.Windows.RibbonItemSize.Standard;
            bt_attPreSuf.ShowText              = false;
            bt_attPreSuf.ShowImage             = true;
            bt_attPreSuf.CommandHandler        = new RibbonCommandHandler();
            bt_attPreSuf.ShowToolTipOnDisabled = true;
            bt_attPreSuf.Description           = "Blöcke manipulieren";

            //Layer exportieren
            Autodesk.Windows.RibbonButton bt_layExport = new Autodesk.Windows.RibbonButton();
            bt_layExport.Id                    = "layExport";
            bt_layExport.Text                  = "Layer exportieren";
            bt_layExport.Image                 = myUtilities.Media.Images.ToImageSource(global::CAS2018.Resources.LayerEport);
            bt_layExport.LargeImage            = myUtilities.Media.Images.ToImageSource(global::CAS2018.Resources.LayerEport);
            bt_layExport.Orientation           = System.Windows.Controls.Orientation.Horizontal;
            bt_layExport.Size                  = Autodesk.Windows.RibbonItemSize.Large;
            bt_layExport.ShowText              = false;
            bt_layExport.ShowImage             = true;
            bt_layExport.CommandHandler        = new RibbonCommandHandler();
            bt_layExport.ShowToolTipOnDisabled = true;
            bt_layExport.Description           = "Layer exportieren";

            //Objekte auf 3d heben
            Autodesk.Windows.RibbonButton bt_Obj3d = new Autodesk.Windows.RibbonButton();
            bt_layExport.Id                    = "Obj3d";
            bt_layExport.Text                  = "Objekte auf 3d heben";
            bt_layExport.Image                 = myUtilities.Media.Images.ToImageSource(global::CAS2018.Resources.ObjTo3d);
            bt_layExport.LargeImage            = myUtilities.Media.Images.ToImageSource(global::CAS2018.Resources.ObjTo3d);
            bt_layExport.Orientation           = System.Windows.Controls.Orientation.Horizontal;
            bt_layExport.Size                  = Autodesk.Windows.RibbonItemSize.Standard;
            bt_layExport.ShowText              = false;
            bt_layExport.ShowImage             = true;
            bt_layExport.CommandHandler        = new RibbonCommandHandler();
            bt_layExport.ShowToolTipOnDisabled = true;
            bt_layExport.Description           = "Objekte auf 3d heben";

            panelSrcTools.Items.Add(bt_PtIns);
            panelSrcTools.Items.Add(bt_attPreSuf);
            panelSrcTools.Items.Add(bt_layExport);
            panelSrcTools.Items.Add(new RibbonRowBreak());
            panelSrcTools.Items.Add(bt_Obj3d);

            //**************
            //PanelSource Attribute
            Autodesk.Windows.RibbonPanelSource panelSrcAtt = new Autodesk.Windows.RibbonPanelSource();
            panelSrcAtt.Title = "Blockattribute";

            Autodesk.Windows.RibbonSubPanelSource panelSubSrcAtt = new Autodesk.Windows.RibbonSubPanelSource();

            //Att Pon
            Autodesk.Windows.RibbonButton bt_AttPon = new Autodesk.Windows.RibbonButton();
            bt_AttPon.Id                    = "AttPon";
            bt_AttPon.Image                 = myUtilities.Media.Images.ToImageSource(global::CAS2018.Resources.AttPon);
            bt_AttPon.LargeImage            = myUtilities.Media.Images.ToImageSource(global::CAS2018.Resources.AttPon);
            bt_AttPon.Orientation           = System.Windows.Controls.Orientation.Vertical;
            bt_AttPon.Size                  = Autodesk.Windows.RibbonItemSize.Standard;
            bt_AttPon.ShowText              = false;
            bt_AttPon.ShowImage             = true;
            bt_AttPon.CommandHandler        = new RibbonCommandHandler();
            bt_AttPon.ShowToolTipOnDisabled = true;
            bt_AttPon.Description           = "PNr einschalten";

            //Att Poff
            Autodesk.Windows.RibbonButton bt_AttPoff = new Autodesk.Windows.RibbonButton();
            bt_AttPoff.Id                    = "AttPoff";
            bt_AttPoff.Image                 = myUtilities.Media.Images.ToImageSource(global::CAS2018.Resources.AttPoff_small);
            bt_AttPoff.LargeImage            = myUtilities.Media.Images.ToImageSource(global::CAS2018.Resources.AttPoff);
            bt_AttPoff.Orientation           = System.Windows.Controls.Orientation.Horizontal;
            bt_AttPoff.Size                  = Autodesk.Windows.RibbonItemSize.Standard;
            bt_AttPoff.ShowText              = false;
            bt_AttPoff.ShowImage             = true;
            bt_AttPoff.CommandHandler        = new RibbonCommandHandler();
            bt_AttPoff.ShowToolTipOnDisabled = true;
            bt_AttPoff.Description           = "PNr ausschalten";

            //Att Hon
            Autodesk.Windows.RibbonButton bt_AttHon = new Autodesk.Windows.RibbonButton();
            bt_AttHon.Id                    = "AttHon";
            bt_AttHon.Image                 = myUtilities.Media.Images.ToImageSource(global::CAS2018.Resources.AttHon_small);
            bt_AttHon.LargeImage            = myUtilities.Media.Images.ToImageSource(global::CAS2018.Resources.AttHon_small1);
            bt_AttHon.Orientation           = System.Windows.Controls.Orientation.Horizontal;
            bt_AttHon.Size                  = Autodesk.Windows.RibbonItemSize.Standard;
            bt_AttHon.ShowText              = false;
            bt_AttHon.ShowImage             = true;
            bt_AttHon.CommandHandler        = new RibbonCommandHandler();
            bt_AttHon.ShowToolTipOnDisabled = true;
            bt_AttHon.Description           = "Höhe einschalten";

            //Att Hoff
            Autodesk.Windows.RibbonButton bt_AttHoff = new Autodesk.Windows.RibbonButton();
            bt_AttHoff.Id                    = "AttHoff";
            bt_AttHoff.Image                 = myUtilities.Media.Images.ToImageSource(global::CAS2018.Resources.AttHoff);
            bt_AttHoff.LargeImage            = myUtilities.Media.Images.ToImageSource(global::CAS2018.Resources.AttHoff);
            bt_AttHoff.Orientation           = System.Windows.Controls.Orientation.Horizontal;
            bt_AttHoff.Size                  = Autodesk.Windows.RibbonItemSize.Standard;
            bt_AttHoff.ShowText              = false;
            bt_AttHoff.ShowImage             = true;
            bt_AttHoff.CommandHandler        = new RibbonCommandHandler();
            bt_AttHoff.ShowToolTipOnDisabled = true;
            bt_AttHoff.Description           = "Höhe ausschalten";

            Autodesk.Windows.RibbonRowPanel rowPanel_Att = new Autodesk.Windows.RibbonRowPanel();
            rowPanel_Att.Items.Add(bt_AttPon);
            rowPanel_Att.Items.Add(bt_AttPoff);
            rowPanel_Att.Items.Add(new RibbonRowBreak());
            rowPanel_Att.Items.Add(bt_AttHon);
            rowPanel_Att.Items.Add(bt_AttHoff);

            panelSrcAtt.Items.Add(rowPanel_Att);

            //**************
            //PanelSource Zeichnen
            Autodesk.Windows.RibbonPanelSource panelSrcZeichnen = new Autodesk.Windows.RibbonPanelSource();
            panelSrcZeichnen.Title = "Zeichnen";
            //Settings
            Autodesk.Windows.RibbonButton bt_Block3P = new Autodesk.Windows.RibbonButton();
            bt_Block3P.Id                    = "Block3P";
            bt_Block3P.Text                  = "Einstellungen";
            bt_Block3P.Image                 = myUtilities.Media.Images.ToImageSource(global::CAS2018.Resources.Block3P);
            bt_Block3P.LargeImage            = myUtilities.Media.Images.ToImageSource(global::CAS2018.Resources.Block3P);
            bt_Block3P.Orientation           = System.Windows.Controls.Orientation.Horizontal;
            bt_Block3P.Size                  = Autodesk.Windows.RibbonItemSize.Standard;
            bt_Block3P.ShowText              = false;
            bt_Block3P.ShowImage             = true;
            bt_Block3P.CommandHandler        = new RibbonCommandHandler();
            bt_Block3P.ShowToolTipOnDisabled = true;
            bt_Block3P.Description           = "Block mit 3 Punkten einfügen";

            panelSrcZeichnen.Items.Add(bt_Block3P);

            //**************
            //PanelSource Settings
            Autodesk.Windows.RibbonPanelSource panelSrcSettings = new Autodesk.Windows.RibbonPanelSource();
            panelSrcSettings.Title = "Settings";
            //Settings
            Autodesk.Windows.RibbonButton bt_Settings = new Autodesk.Windows.RibbonButton();
            bt_Settings.Id                    = "Settings";
            bt_Settings.Text                  = "Einstellungen";
            bt_Settings.Image                 = myUtilities.Media.Images.ToImageSource(global::CAS2018.Resources.settings_16x16);
            bt_Settings.LargeImage            = myUtilities.Media.Images.ToImageSource(global::CAS2018.Resources.Settings);
            bt_Settings.Orientation           = System.Windows.Controls.Orientation.Horizontal;
            bt_Settings.Size                  = Autodesk.Windows.RibbonItemSize.Large;
            bt_Settings.ShowText              = false;
            bt_Settings.ShowImage             = true;
            bt_Settings.CommandHandler        = new RibbonCommandHandler();
            bt_Settings.ShowToolTipOnDisabled = true;
            bt_Settings.Description           = "Einstellungen ";

            panelSrcSettings.Items.Add(bt_Settings);

            //**************
            //PanelSource Help
            Autodesk.Windows.RibbonPanelSource panelSrcHelp = new Autodesk.Windows.RibbonPanelSource();
            panelSrcHelp.Title = "Hilfe";

            //AboutBox
            Autodesk.Windows.RibbonButton bt_About = new Autodesk.Windows.RibbonButton();
            bt_About.Id                    = "AboutBox";
            bt_About.Text                  = "Info zu CAS2018";
            bt_About.Image                 = myUtilities.Media.Images.ToImageSource(global::CAS2018.Resources.helpdoc);
            bt_About.LargeImage            = myUtilities.Media.Images.ToImageSource(global::CAS2018.Resources.helpdoc);
            bt_About.Orientation           = System.Windows.Controls.Orientation.Horizontal;
            bt_About.Size                  = Autodesk.Windows.RibbonItemSize.Large;
            bt_About.ShowText              = false;
            bt_About.ShowImage             = true;
            bt_About.CommandHandler        = new RibbonCommandHandler();
            bt_About.ShowToolTipOnDisabled = true;
            bt_About.Description           = "Info über CAS2018";

            panelSrcHelp.Items.Add(bt_About);

            // Row Panel
            Autodesk.Windows.RibbonRowPanel rowPanel1 = new Autodesk.Windows.RibbonRowPanel();
            rowPanel1.Items.Add(bt_About);
            rowPanel1.Items.Add(bt_attPreSuf);

            //rowPanel.Items.Add( panelSubSrcAtt);
            rowPanel1.Items.Add(bt_Settings);
            rowPanel1.ResizeStyle = Autodesk.Windows.RibbonItemResizeStyles.ChangeSize;
            rowPanel1.Size        = Autodesk.Windows.RibbonItemSize.Standard;

            // Create a panel for holding the panel
            // source content
            Autodesk.Windows.RibbonPanel panelCAS = new Autodesk.Windows.RibbonPanel();

            panelCAS.Source = panelSrcIO;
            Autodesk.Windows.RibbonControl control = panelCAS.RibbonControl;

            //Tabs
            Autodesk.Windows.RibbonPanel panel_IO = new Autodesk.Windows.RibbonPanel();

            panel_IO.Source = panelSrcIO;

            Autodesk.Windows.RibbonPanel panel_Tools = new Autodesk.Windows.RibbonPanel();
            panel_Tools.Source = panelSrcTools;

            Autodesk.Windows.RibbonPanel panel_Att = new Autodesk.Windows.RibbonPanel();
            panel_Att.Source = panelSrcAtt;

            Autodesk.Windows.RibbonPanel panel_Zeichnen = new RibbonPanel();
            panel_Zeichnen.Source = panelSrcZeichnen;

            Autodesk.Windows.RibbonPanel panel_Settings = new Autodesk.Windows.RibbonPanel();
            panel_Settings.Source = panelSrcSettings;

            Autodesk.Windows.RibbonPanel panel_Help = new Autodesk.Windows.RibbonPanel();
            panel_Help.Source = panelSrcHelp;

            Autodesk.Windows.RibbonTab tabCAS2018 = new Autodesk.Windows.RibbonTab();
            tabCAS2018.Title           = "CAS2018";
            tabCAS2018.Id              = "CAS2018";
            tabCAS2018.IsContextualTab = false;

            tabCAS2018.Panels.Add(panel_IO);
            tabCAS2018.Panels.Add(panel_Tools);
            tabCAS2018.Panels.Add(panel_Att);
            tabCAS2018.Panels.Add(panel_Zeichnen);
            tabCAS2018.Panels.Add(panel_Settings);
            tabCAS2018.Panels.Add(panel_Help);

            // Now add the tab to AutoCAD Ribbon bar...
            try
            {
                Autodesk.Windows.RibbonControl ribbonControl = RibbonServices.RibbonPaletteSet.RibbonControl;
                Autodesk.Windows.RibbonTab     ribTab        = new Autodesk.Windows.RibbonTab();
                ribbonControl.Tabs.Add(tabCAS2018);
            }
            catch { }
        }
Example #14
0
        private void taskCategory_DropDownOpened(object sender, EventArgs e)
        {
            taskCategoryGallery.Items.Clear();

            MenuItem clearCategory = new MenuItem();

            clearCategory.Header = "_Clear Category";
            clearCategory.Click += taskClearCategory_Click;
            taskCategoryGallery.Items.Add(clearCategory);

            bool enabled = tasksView.ActiveTaskCategoryID != "";

            if (!enabled)
            {
                clearCategory.Loaded += taskSeparator_Loaded;
            }

            RibbonSeparator separator = new RibbonSeparator();

            separator.Margin  = new Thickness(32, 1, 0, 0);
            separator.Loaded += taskSeparator_Loaded;
            taskCategoryGallery.Items.Add(separator);

            Category[] categories = TaskDatabase.GetCategories();

            foreach (Category each in categories)
            {
                if (!each.ReadOnly)
                {
                    MenuItem m = new MenuItem();
                    m.Click += TaskCategory_Click;
                    m.Header = each.Name;
                    m.Tag    = each.ID;

                    Border b = new Border();
                    b.BorderThickness = new Thickness(1);
                    b.Width           = b.Height = 14;

                    Color c = each.Color;
                    b.Background  = new SolidColorBrush(c);
                    b.BorderBrush = new SolidColorBrush(Color.FromRgb((byte)(c.R > 75 ? c.R - 75 : 0), (byte)(c.G > 70 ? c.G - 70 : 0), (byte)(c.B > 80 ? c.B - 80 : 0)));

                    m.Icon = b;

                    taskCategoryGallery.Items.Add(m);
                }
            }

            RibbonSeparator separator2 = new RibbonSeparator();

            separator2.Margin  = new Thickness(32, 1, 0, 0);
            separator2.Loaded += taskSeparator_Loaded;
            taskCategoryGallery.Items.Add(separator2);

            MenuItem modifyCategories = new MenuItem();

            modifyCategories.Header = "_Edit Categories";
            Image icon = new Image();

            icon.Stretch            = Stretch.None;
            icon.Source             = new BitmapImage(new Uri("pack://application:,,,/Daytimer.Images;component/Images/categorize_sml.png", UriKind.Absolute));
            modifyCategories.Icon   = icon;
            modifyCategories.Click += taskModifyCategories_Click;
            taskCategoryGallery.Items.Add(modifyCategories);
        }