Ejemplo n.º 1
0
        public MainForm()
        {
            InitializeComponent();

            Application.Idle += new EventHandler(Application_Idle);

            // Find and add actions
            Assembly           assembly = Assembly.GetExecutingAssembly();
            List <IXCOMAction> actions  = new List <IXCOMAction>();

            foreach (Type type in assembly.GetTypes().Where(p => p.BaseType == typeof(XCOMActionBase)))
            {
                IXCOMAction instance = (IXCOMAction)Activator.CreateInstance(type);
                actions.Add(instance);
            }
            actions.Sort((a, b) => { return(a.Order < b.Order ? -1 : 1); });
            foreach (IXCOMAction action in actions)
            {
                bool canRunWithoutDialog = ((action.Interface & ActionInterface.Command) != ActionInterface.None);
                lbActions.Items.Add(action, action.Recommended && canRunWithoutDialog);
                // Dialog button
                if ((action.Interface & ActionInterface.Dialog) != ActionInterface.None)
                {
                    lbActions.AddButton(lbActions.Items.Count - 1);
                }
                // Help button
                if (!string.IsNullOrEmpty(action.HelpText))
                {
                    lbActions.AddButton(lbActions.Items.Count - 1, "?");
                }
            }
        }
Ejemplo n.º 2
0
        void lbActions_ButtonClick(object sender, AcadUtility.WinForms.CheckedListBoxWithButtons.ButtonClickEventArgs e)
        {
            IXCOMAction action = (IXCOMAction)lbActions.Items[e.ItemIndex];

            if (string.IsNullOrEmpty(e.ButtonText) && (action.Interface & ActionInterface.Dialog) != ActionInterface.None)
            {
                action.ShowDialog();
            }
            else if (e.ButtonText == "?" && !string.IsNullOrEmpty(action.HelpText))
            {
                AcadUtility.WinForms.HelpForm.ShowDialog(action.Name, action.HelpText);
            }
        }
Ejemplo n.º 3
0
 public void AddAction(IXCOMAction action)
 {
     deployActions.Add(action);
 }