コード例 #1
0
 public void start()
 {
     TaskEnabled = true;
     if (TaskFunction == null)
     {
         "in ascx_SimpleTaskGui, TaskFunction not set".error();
         return;
     }
     startLinkLabel.enabled(false);
     stopLinkLabel.enabled(true);
     taskThread = O2Thread.mtaThread(executionThread);
     this.focus();
 }
コード例 #2
0
        public void buildGui()
        {
            try
            {
                var topPanel = this.add_Panel();
                //serializedString = topPanel.insert_Right(200).add_GroupBox("Serialized Object").add_SourceCodeViewer();
                //var serializedStringPanel = serializedString.splitContainer().panel2Collapsed(true);
                propertyGrid = topPanel.add_GroupBox("").add_PropertyGrid().helpVisible(false);
                treeView     = propertyGrid.parent().insert_Left <Panel>().add_TreeView().sort();
                //treeView.splitterDistance(300);
                var toStringValue = propertyGrid.parent().insert_Below <Panel>(100).add_GroupBox("ToString Value (not editable):").add_TextArea();
                var optionsPanel  = treeView.insert_Below <Panel>(70);
                var objectName    = toStringValue.parent().insert_Above <Panel>(20).add_TextBox("name", "");
                //propertyGrid.onValueChange(updateSerializedString);

                //setSerializedStringSyncWithPropertyGrid();

                //serializedString.insert_Above(20).add_Link("Sync Serialized String With PropertyGrid", 0, 0, () => updateSerializedStringSyncWithPropertyGrid());

                LinkLabel invokeLink = null;
                invokeLink = optionsPanel.add_CheckBox("Show Methods", 0, 0,
                                                       (value) =>
                {
                    ShowMethods = value;
                    invokeLink.enabled(value);
                    refresh();
                })
                             .append_Link("invoke", invokeSelectedMethod)
                             .leftAdd(-16).topAdd(5).bringToFront()
                             .enabled(false);

                optionsPanel.add_CheckBox("Show Property and Field info", 22, 0,
                                          (value) =>
                {
                    ShowPropertyAndFieldInfo = value;
                    refresh();
                })
                .autoSize()
                .append_Link("refresh", () => refresh())
                .left(200);
                optionsPanel.add_CheckBox("Sort Values", 0, 135,
                                          (value) =>
                {
                    Sorted = value;
                    try
                    {
                        treeView.sort(Sorted); // throwing "Unable to cast object of type 'System.Boolean' to type 'System.Windows.Forms.TreeView'"
                    }
                    catch                      //(Exception ex)
                    {
                        //ex.log();
                    }
                }).@checked(true);

                simpleView_CheckBox = optionsPanel.add_CheckBox("Simple View", 0, 220,
                                                                (value) =>
                {
                    SimpleView = value;
                    //propertyGrid.splitContainer().panel1Collapsed(value);
                    refresh();
                })
                                      .bringToFront();

                /*showSerializedString_CheckBox = optionsPanel.add_CheckBox("Show serialized string", 44, 0,
                 *  (value) =>
                 *  {
                 *      ShowSerializedString = value;
                 *      serializedStringPanel.panel2Collapsed(!value);
                 *      refresh();
                 *  })
                 *           .autoSize();*/

                createObjectWhenNull_CheckBox = optionsPanel.add_CheckBox("Create Object When Null", 44, 150,
                                                                          (value) =>
                {
                    CreateObjectWhenNull = value;
                })
                                                .bringToFront()
                                                .autoSize();

                treeView.afterSelect <object>(
                    (selectedObject) =>
                {
                    var treeNode = treeView.selected();
                    objectName.set_Text(treeNode.get_Text());
                    var tag = WinForms_ExtensionMethods_TreeView.get_Tag(treeNode);
                    if (tag.notNull())    // && tag.str() != treeNode.get_Text())
                    {
                        propertyGrid.show(selectedObject);
                        var toString = selectedObject.str();
                        if (toString == "System.__ComObject")
                        {
                            toString += " : {0}".format(selectedObject.comObject_TypeName());
                        }
                        toStringValue.set_Text(toString);

                        propertyGrid.parent().set_Text(selectedObject.typeFullName());
                        if (treeNode.nodes().size() == 0)
                        {
                            addObjectPropertyAndFields(treeNode, selectedObject);
                        }
                    }
                    else if (treeNode.nodes().size() == 0)
                    {
                        propertyGrid.show(null as object);
                        propertyGrid.parent().set_Text("[null value]");
                        toStringValue.set_Text("[null value]");
                        objectName.set_Text("");
                        treeNode.color(Color.Red);
                    }
                });
                treeView.add_ContextMenu().add_MenuItem("Invoke Method", () => invokeSelectedMethod());
            }
            catch (Exception ex)
            {
                ex.log("in buildGui", true);
            }
            guiReady = true;
        }