示例#1
0
 private void OnCommandClick(Commands_e cmd)
 {
     switch (cmd)
     {
     case Commands_e.InsertNote:
         m_App.IActiveDoc2.ClearSelection2(true);
         m_Page = new PropertyManagerPageEx <InsertNotePMPageHandler, NoteData>(
             m_Data ?? (m_Data = new NoteData()), m_App);
         m_Page.Handler.Closing += (r, a) =>
         {
             if (r == swPropertyManagerPageCloseReasons_e.swPropertyManagerPageClose_Okay)
             {
                 if (string.IsNullOrEmpty(m_Data.Text))
                 {
                     a.Cancel       = true;
                     a.ErrorTitle   = "Insert Note Error";
                     a.ErrorMessage = "Please specify the note text";
                 }
             }
         };
         m_Page.Handler.Closed += r =>
         {
             if (r == swPropertyManagerPageCloseReasons_e.swPropertyManagerPageClose_Okay)
             {
                 NoteHelper.InsertNote(m_App.IActiveDoc2 as IDrawingDoc,
                                       m_Data.Text, m_Data.Size, m_Data.Position.X, m_Data.Position.Y,
                                       m_Data.Position.AttachedEntity);
             }
         };
         m_Page.Show();
         break;
     }
 }
示例#2
0
        private void OnButtonClick(Commands_e cmd)
        {
            switch (cmd)
            {
            case Commands_e.Configuration:

                var vm = m_Services.GetService <CommandManagerVM>();

                if (new CommandManagerForm(vm,
                                           new IntPtr(App.IFrameObject().GetHWnd())).ShowDialog() == true)
                {
                    try
                    {
                        m_CmdsMgr.UpdatedToolbarConfiguration(vm.Settings, vm.ToolbarInfo, vm.IsEditable);
                    }
                    catch (Exception ex)
                    {
                        m_Msg.ShowError(ex, "Failed to save toolbar specification");
                    }
                }
                break;

            case Commands_e.About:
                m_Services.GetService <IAboutApplicationService>().ShowAboutForm();
                break;
            }
        }
示例#3
0
        private void OnButtonClick(Commands_e cmd)
        {
            switch (cmd)
            {
            case Commands_e.ReportEachStep:
                m_ReportEachStep = !m_ReportEachStep;
                break;

            case Commands_e.NoProgress:
                DoNoProgress();
                break;

            case Commands_e.UserForm:
                DoUserForm();
                break;

            case Commands_e.UserProgressBar:
                DoUserProgressBar();
                break;

            case Commands_e.Task:
                DoTask();
                break;

            case Commands_e.DoEvents:
                DoDoEvents();
                break;

            case Commands_e.Thread:
                DoThread();
                break;
            }
        }
示例#4
0
        private void OnButtonClick(Commands_e cmd)
        {
            switch (cmd)
            {
            case Commands_e.ImportXamlFile:
                try
                {
                    using (var openFileDlg = new OpenFileDialog())
                    {
                        openFileDlg.Filter           = "Microsoft XAML Files (*.xaml)|*.xaml|All Files (*.*)|*.*";
                        openFileDlg.RestoreDirectory = true;

                        if (openFileDlg.ShowDialog() == DialogResult.OK)
                        {
                            var xamlFilePath = openFileDlg.FileName;

                            var model = GetModel3DFromFile(xamlFilePath);
                            m_DocsHandler[App.IActiveDoc2].Model3D = model;
                        }
                    }
                }
                catch (Exception ex)
                {
                    App.SendMsgToUser2(ex.Message, (int)swMessageBoxIcon_e.swMbStop, (int)swMessageBoxBtn_e.swMbOk);
                }
                break;
            }
        }
示例#5
0
        private void OnCommandClick(Commands_e spec)
        {
            switch (spec)
            {
            case Commands_e.Configuration:

                var vm = Resolve <CommandManagerVM>();

                var popup = m_Host.Extension.CreatePopupWindow <CommandManagerForm>();
                popup.Control.DataContext           = vm;
                popup.Control.WindowStartupLocation = System.Windows.WindowStartupLocation.CenterOwner;

                if (popup.ShowDialog() == true)
                {
                    try
                    {
                        m_CmdsMgr.UpdateToolbarConfiguration(vm.Settings, vm.ToolbarInfo, vm.IsEditable);
                    }
                    catch (Exception ex)
                    {
                        m_Msg.ShowError(ex, "Failed to save toolbar specification");
                    }
                }
                break;
            }
        }
示例#6
0
        private void OnCommandClick(Commands_e spec)
        {
            switch (spec)
            {
            case Commands_e.RunStandAlone:
                try
                {
                    var batchPath = Path.GetFullPath(Path.Combine(
                                                         Path.GetDirectoryName(this.GetType().Assembly.Location), @"..\..\batchplus.exe"));

                    if (File.Exists(batchPath))
                    {
                        System.Diagnostics.Process.Start(batchPath);
                    }
                    else
                    {
                        throw new FileNotFoundException("Failed to find the path to executable");
                    }
                }
                catch (Exception ex)
                {
                    m_Logger.Log(ex);
                    m_Msg.ShowError("Failed to run Batch+");
                }
                break;

            case Commands_e.RunInApp:
                m_Data.Components = m_Host.Extension.Application.Documents.Active.Selections.OfType <IXComponent>().ToList();
                m_Page.Show(m_Data);
                break;
            }
        }
示例#7
0
        private void OnButtonEnable(Commands_e cmd, ref CommandItemEnableState_e state)
        {
            switch (cmd)
            {
            case Commands_e.CreateBox:
            case Commands_e.CreateCylinder:
                var selType = (swSelectType_e)App.IActiveDoc2.ISelectionManager.GetSelectedObjectType3(1, -1);

                if (App.IActiveDoc2 is IPartDoc && (selType == swSelectType_e.swSelFACES || selType == swSelectType_e.swSelDATUMPLANES))
                {
                    if (selType == swSelectType_e.swSelFACES)
                    {
                        var face = App.IActiveDoc2.ISelectionManager.GetSelectedObject6(1, -1) as IFace2;

                        if (!face.IGetSurface().IsPlane())
                        {
                            state = CommandItemEnableState_e.DeselectDisable;
                        }
                    }
                }
                else
                {
                    state = CommandItemEnableState_e.DeselectDisable;
                }
                break;
            }
        }
示例#8
0
        private void OnCommandClick(Commands_e spec)
        {
            switch (spec)
            {
            case Commands_e.RunStandAlone:
                try
                {
                    var exportPath = Path.GetFullPath(Path.Combine(
                                                          Path.GetDirectoryName(this.GetType().Assembly.Location), @"..\..\exportplus.exe"));

                    if (File.Exists(exportPath))
                    {
                        System.Diagnostics.Process.Start(exportPath);
                    }
                    else
                    {
                        throw new FileNotFoundException("Failed to find the path to executable");
                    }
                }
                catch (Exception ex)
                {
                    m_Logger.Log(ex);
                    m_Msg.ShowError("Failed to run Batch+");
                }
                break;
            }
        }
 private void OnCommandClick(Commands_e spec)
 {
     switch (spec)
     {
     case Commands_e.InsertCabinetConfigurator:
         Application.Documents.Active.Features.CreateCustomFeature <CabinetConfiguratorMacroFeatureDefinition, CabinetSizeData, CabinetConfiguratorPage>();
         break;
     }
 }
示例#10
0
 private void OnCommandClick(Commands_e spec)
 {
     switch (spec)
     {
     case Commands_e.InsertDimensionWatcher:
         Application.Documents.Active.Features.CreateCustomFeature <DimensionWatcherMacroFeatureDefinition, DimensionWatcherData, DimensionWatcherData>();
         break;
     }
 }
示例#11
0
 private void OnCommandClick(Commands_e spec)
 {
     switch (spec)
     {
     case Commands_e.ShowProgressPage:
         m_Page.Show(m_PageData);
         break;
     }
 }
 private void OnCommandClick(Commands_e spec)
 {
     switch (spec)
     {
     case Commands_e.ShowWeldmentProfiles:
         m_Page.Show(m_Data);
         break;
     }
 }
示例#13
0
 private void OnButtonClick(Commands_e spec)
 {
     switch (spec)
     {
     case Commands_e.ShowPMPage:
         m_Page.Show(m_Model);
         break;
     }
 }
示例#14
0
 private void OnCommandClick(Commands_e spec)
 {
     switch (spec)
     {
     case Commands_e.CreateBox:
         this.Application.Documents.Active.Features.CreateCustomFeature <BoxMacroFeatureDef, BoxData, BoxData>();
         break;
     }
 }
 private void OnButtonClick(Commands_e spec)
 {
     switch (spec)
     {
     case Commands_e.SweepSketch:
         Application.Documents.Active.Features.CreateCustomFeature <SweepSketchMacroFeatureEditor, SweepSketchData, SweepSketchData>();
         break;
     }
 }
示例#16
0
 private void OnCommandClick(Commands_e cmd)
 {
     switch (cmd)
     {
     case Commands_e.InsertQrCode:
         m_InsertQrCodeFeature.Insert((IXDrawing)m_Host.Extension.Application.Documents.Active);
         break;
     }
 }
示例#17
0
        private void OnCommandEnable(Commands_e cmd, ref CommandItemEnableState_e state)
        {
            var model = App.ActiveDoc;

            if (model is PartDoc)
            {
                state = CommandItemEnableState_e.DeselectEnable;
            }
        }
示例#18
0
 private void OnCommandStateResolve(Commands_e spec, CommandState state)
 {
     switch (spec)
     {
     case Commands_e.Power:
         state.Checked = m_IsPowerOn;
         break;
     }
 }
示例#19
0
 private void OnCommandClick(Commands_e spec)
 {
     switch (spec)
     {
     case Commands_e.Power:
         m_IsPowerOn = !m_IsPowerOn;
         break;
     }
 }
示例#20
0
 private void OnButtonClick(Commands_e cmd)
 {
     switch (cmd)
     {
     case Commands_e.InsertLinkToFile:
         InsertLinkToFileMacroFeature();
         break;
     }
 }
示例#21
0
 private void OnButtonClick(Commands_e cmd)
 {
     switch (cmd)
     {
     case Commands_e.IndexFaces:
         IndexFaces(App.IActiveDoc2 as IAssemblyDoc);
         break;
     }
 }
 private void OnButtonClick(Commands_e cmd)
 {
     switch (cmd)
     {
     case Commands_e.ShowForm:
         m_Form = new SelectionForm(m_DocsHandler[App.IActiveDoc2]);
         m_Form.Show(new SwWindow(App));
         break;
     }
 }
示例#23
0
 private void OnCommandClick(Commands_e spec)
 {
     switch (spec)
     {
     case Commands_e.OpenPMPage:
         m_Data.SimpleControls.SelectionBox = (Application.Documents.Active as IXPart)?.Bodies.FirstOrDefault()?.Faces.First();
         m_Page.Show(m_Data);
         break;
     }
 }
 private void OnButtonClick(Commands_e spec)
 {
     switch (spec)
     {
     case Commands_e.InsertCoordinateSystem:
     {
         Application.Documents.Active.Features.CreateCustomFeature <CoordinateSystemMacroFeatureDefinition, CoordinateSystemData, CoordinateSystemData>();
         break;
     }
     }
 }
示例#25
0
 private void OnButtonEnable(Commands_e cmd, CommandState state)
 {
     switch (cmd)
     {
     case Commands_e.Command1:
     case Commands_e.Command2:
         //TODO: implement logic to identify the state of the button
         state.Checked = false;
         state.Enabled = false;
         break;
     }
 }
示例#26
0
        private void OnCommandClick(Commands_e spec)
        {
            try
            {
                switch (spec)
                {
                case Commands_e.Configuration:

                    var vm = Resolve <CommandManagerVM>();

                    vm.Load(m_ToolbarConfMgr.Toolbar.Clone(), m_ToolbarConfMgr.FilePath);

                    var popup = m_Host.Extension.CreatePopupWindow <CommandManagerForm>();
                    popup.Control.DataContext           = vm;
                    popup.Control.WindowStartupLocation = System.Windows.WindowStartupLocation.CenterOwner;

                    if (popup.ShowDialog() == true)
                    {
                        try
                        {
                            m_ToolbarConfMgr.Toolbar  = vm.ToolbarInfo;
                            m_ToolbarConfMgr.FilePath = vm.ToolbarSpecificationPath;

                            if (m_ToolbarConfMgr.SettingsChanged)
                            {
                                m_ToolbarConfMgr.SaveSettings();
                            }

                            if (m_ToolbarConfMgr.ToolbarChanged)
                            {
                                m_ToolbarConfMgr.SaveToolbar();

                                //TODO: make this message SOLIDWORKS specific only as other CAD systems might have different conditions for loading of toolbar
                                m_Msg.ShowInformation("Toolbar settings have been changed. Restart SOLIDWORKS to load the command manager and menu. If commands in the toolbar have been changed (added or removed) then it might be required to restart SOLIDWORKS twice for the changes to be applied");
                            }
                        }
                        catch (Exception ex)
                        {
                            m_Logger.Log(ex);
                            m_Msg.ShowError(ex, "Failed to save toolbar specification");
                        }
                    }
                    break;
                }
            }
            catch (Exception ex)
            {
                m_Logger.Log(ex);
                m_Msg.ShowError(ex, "Unknown error");
                m_Logger.Log(ex);
            }
        }
示例#27
0
        private void OnButtonClick(Commands_e cmd)
        {
            switch (cmd)
            {
            case Commands_e.ShowPmpCascading:
                m_PmpPageCascading.Show(m_DataModelCascading);
                break;

            case Commands_e.ShowPmpEnable:
                m_PmpPageEnable.Show(m_DataModelEnable);
                break;
            }
        }
示例#28
0
        private void OnButtonClick(Commands_e cmd)
        {
            switch (cmd)
            {
            case Commands_e.ShowPmp:
                m_Page.Show(new LocalizedPmPage());
                break;

            case Commands_e.CreateMacroFeature:
                Application.Documents.Active.Features.CreateCustomFeature <LocalizedMacroFeature>();
                break;
            }
        }
示例#29
0
 private void OnCommandEnable(Commands_e cmd, ref CommandItemEnableState_e state)
 {
     if (cmd == Commands_e.Command1)
     {
         if (state == CommandItemEnableState_e.DeselectEnable)
         {
             if (App.IActiveDoc2?.ISelectionManager?.GetSelectedObjectCount2(-1) == 0)
             {
                 state = CommandItemEnableState_e.DeselectDisable;
             }
         }
     }
 }
        private void OnCommandClick(Commands_e cmd)
        {
            switch (cmd)
            {
            case Commands_e.Command1:
                m_App.SendMsgToUser("Command1 clicked!");
                break;

            case Commands_e.Command2:
                m_App.SendMsgToUser("Command2 clicked!");
                break;
            }
        }