Example #1
0
        private void OnTaskSetup(ref EdmCmd poCmd, ref EdmCmdData[] ppoData)
        {
            try
            {
                //Get the property interface used to access the framework
                IEdmTaskProperties props = poCmd.mpoExtra as IEdmTaskProperties;
                //Get the settings for exist task
                try
                {
                    string res = props.GetValEx(AutoCADTaskSettings.Acadtask_Settings) as string;
                    if (!string.IsNullOrEmpty(res))
                    {
                        taskSettings = JsonConvert.DeserializeObject <AutoCADTaskSettings>(res);
                    }
                }
                catch
                {
                }
                if (taskSettings == null)
                {
                    taskSettings                 = new AutoCADTaskSettings();
                    taskSettings.CreateMenu      = true;
                    taskSettings.CreatePDF       = true;
                    taskSettings.MenuDescription = "Convert AutoCAD";
                    taskSettings.MenuName        = "Convert AutoCAD";
                }

                //Set the property flag that says you want a
                //menu item for the user to launch the task
                //and a flag to support scheduling
                props.TaskFlags = (int)EdmTaskFlag.EdmTask_SupportsInitExec + (int)EdmTaskFlag.EdmTask_SupportsDetails + (int)EdmTaskFlag.EdmTask_SupportsChangeState + (int)EdmTaskFlag.EdmTask_SupportsInitForm;



                EdmTaskSetupPage[] setupPages = new EdmTaskSetupPage[2];
                setupPages[0].mbsPageName = "Menus Command";
                setupPages[1].mbsPageName = "TitleBlocks";
                //pages[0].mlPageHwnd = SetupPageObj.Handle.ToInt32();
                //pages[0].mpoPageImpl = SetupPageObj;
                props.SetSetupPages(setupPages);
            }
            catch (System.Runtime.InteropServices.COMException ex)
            {
                log.Error(ex);
                // MessageBox.Show("HRESULT = 0x" + ex.ErrorCode.ToString("X") + ex.Message);
            }
            catch (Exception ex)
            {
                log.Error(ex);
                //MessageBox.Show(ex.Message);
            }
        }
Example #2
0
 private void OnTaskSetup(ref EdmCmd poCmd, ref EdmCmdData[] ppoData)
 {
     try
     {
         IEdmTaskProperties props = default(IEdmTaskProperties);
         props = (IEdmTaskProperties)poCmd.mpoExtra;
     }
     catch (System.Runtime.InteropServices.COMException ex)
     {
         MessageObserver.Instance.SetMessage("HRESULT = 0x" + ex.ErrorCode.ToString("X") + ex.Message);
     }
     catch (Exception ex)
     {
         MessageObserver.Instance.SetMessage(ex.Message);
     }
 }
Example #3
0
        private void OnTaskSetupButton(ref EdmCmd poCmd, ref EdmCmdData[] ppoData)
        {
            try
            {
                //Custom setup page, SetupPageObj, is created
                //in method Class1::OnTaskSetup; SetupPage::StoreData
                //saves the contents of the list box to poCmd.mpoExtra
                //in the IEdmTaskProperties interface
                if (poCmd.mbsComment == "OK" && (taskSettings != null))
                {
                    IEdmTaskProperties props = poCmd.mpoExtra as IEdmTaskProperties;
                    //Pull settings from windows


                    //Set up the menu commands to launch this task
                    if (taskSettings.CreateMenu)
                    {
                        EdmTaskMenuCmd[] cmds = new EdmTaskMenuCmd[1];
                        cmds[0].mbsMenuString    = taskSettings.MenuName;
                        cmds[0].mbsStatusBarHelp = taskSettings.MenuDescription;
                        cmds[0].mlCmdID          = 2;
                        cmds[0].mlEdmMenuFlags   = (int)EdmMenuFlags.EdmMenu_MustHaveSelection;
                        props.SetMenuCmds(cmds);
                    }

                    props.SetValEx(AutoCADTaskSettings.Acadtask_Settings, JsonConvert.SerializeObject(taskSettings));
                }
            }
            catch (System.Runtime.InteropServices.COMException ex)
            {
                MessageBox.Show("HRESULT = 0x" + ex.ErrorCode.ToString("X") + ex.Message);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
            finally
            {
                taskSettings = null;
            }
        }