string TSModuleName = "LABPP_ProgramCodeGen.cpp"; //string TSModuleVersion = "02.03.2022 - Alpha"; //string TSModuleVersion = "19.11.2022 + Project Info"; //string TSModuleVersion = "10.01.2023 + Dialog Controls"; string TSModuleVersion = "26.01.2023 + By Excel Tables"; //----------------------- // LABPP PCG //----------------------- int iButtonGenerate, iButtonHelp, iButtonOpenInNotepad, iButtonTableFilterShow, iButton_LabPP_Table_Editor, iButton_DControlManipula; int iProgressBar; int iIKTreeView; int iTablePCGIK; int iMultilineEdit; int iSplitter1; int iDialogDescr; int main() { // Создаем диалог int x, y, w, h; object("create", "ts_dialog", iDialogDescr); ts_dialog(iDialogDescr, "init_dialog", "palette", 0, 0, 450, 400); ts_dialog(iDialogDescr, "set_as_main_panel"); ts_dialog(iDialogDescr, "SetTitle", "LABPP Program Code Generator"); bool bres; int delta = 10; w = 100; int yy = 1; object("create", "ts_table", iTablePCGIK); ts_table(iTablePCGIK, "add_column", 0, "int", "Индекс"); ts_table(iTablePCGIK, "add_column", 1, "string", "Имя файла cpp"); ts_table(iTablePCGIK, "set_first_key", 0); object("create", "ts_dialogcontrol", iIKTreeView, "iIKTreeView"); ts_dialogcontrol(iIKTreeView, "init_control", "singleseltreeview", iDialogDescr, 2, 2, 446, 348-100, 3072); ts_dialogcontrol(iIKTreeView, "SetNormalIconHW", 18, 18); ts_dialogcontrol(iIKTreeView, "eventreaction", "Event_TreeViewSelectionChanged"); ts_dialogcontrol(iIKTreeView, "SetAnchorToPanelResize", 0, 0, 1, 1); object("create", "ts_dialogcontrol", iSplitter1); ts_dialogcontrol(iSplitter1, "init_control", "splitter", iDialogDescr, 2, 348-100+2, 446, 3, 0); ts_dialogcontrol(iSplitter1, "attach_controlled_element", iIKTreeView, 0, 0, 0, 1); ts_dialogcontrol(iSplitter1, "SetAnchorToPanelResize", 0, 1, 1, 0); object("create", "ts_dialogcontrol", iMultilineEdit); ts_dialogcontrol(iMultiLineEdit, "init_control", "multilineedit", iDialogDescr, 2, 348-100+2+4, 446, 90, 3072); ts_dialogcontrol(iMultiLineEdit, "settext", ""); ts_dialogcontrol(iMultiLineEdit, "SetAnchorToPanelResize", 0, 1, 1, 0); ts_dialogcontrol(iSplitter1, "attach_controlled_element", iMultiLineEdit, 0, 1, 0, -1); int newitem, rootitem, tree1item, tree2item; string iconpathgroup, iconpath; shell_func("get_path", "currentcppfiles", iconpath); string ipath = iconpath; string iconpathall = iconpath + "\\BigTree.png"; string iconpathitem = iconpath + "\\Debug_CodeGenerator.png"; iconpathgroup = iconpath + "\\SmallTree.png"; iconpath = iconpath + "\\SmallTree.png"; //-------------------------------------- Наполнение --------------------------------------- #pragma region PCG ts_dialogcontrol(iIKTreeView, "TreeViewInsertItem", 0, 0, rootitem); ts_dialogcontrol(iIKTreeView, "SetItemText", rootitem, "Code fragments"); ts_dialogcontrol(iIKTreeView, "SetItemValue", rootitem, -1); ts_dialogcontrol(iIKTreeView, "SetItemNormalIcon", rootitem, iconpathall); int itemindex = 0; string itemname = "Simple elements matipulate"; //----------------------------------------------------- ts_dialogcontrol(iIKTreeView, "TreeViewInsertItem", rootitem, -65535, tree1item); //ts_dialogcontrol(iIKTreeView, "TreeViewInsertItem", 0, -65535, tree1item); ts_dialogcontrol(iIKTreeView, "SetItemText", tree1item, itemname); ts_dialogcontrol(iIKTreeView, "SetItemNormalIcon", tree1item, iconpath); ts_dialogcontrol(iIKTreeView, "SetItemValue", tree1item, -1); VorPosWithIFCVARNameFromPrgFile("get_element_value.cpp", itemindex, tree1item, iconpathitem); itemindex++; VorPosWithIFCVARNameFromPrgFile("set_element_value.cpp", itemindex, tree1item, iconpathitem); itemindex++; VorPosWithIFCVARNameFromPrgFile("element_user_data.cpp", itemindex, tree1item, iconpathitem); itemindex++; VorPosWithIFCVARNameFromPrgFile("get_elem_par_set_as_text.cpp", itemindex, tree1item, iconpathitem); itemindex++; VorPosWithIFCVARNameFromPrgFile("favorite_properties.cpp", itemindex, tree1item, iconpathitem); itemindex++; itemname = "Simple project matipulate"; //----------------------------------------------------- ts_dialogcontrol(iIKTreeView, "TreeViewInsertItem", rootitem, -65535, tree1item); //ts_dialogcontrol(iIKTreeView, "TreeViewInsertItem", 0, -65535, tree1item); ts_dialogcontrol(iIKTreeView, "SetItemText", tree1item, itemname); ts_dialogcontrol(iIKTreeView, "SetItemNormalIcon", tree1item, iconpath); ts_dialogcontrol(iIKTreeView, "SetItemValue", tree1item, -1); VorPosWithIFCVARNameFromPrgFile("get_autotext_value.cpp", itemindex, tree1item, iconpathitem); itemindex++; VorPosWithIFCVARNameFromPrgFile("get_model_view_parameter.cpp", itemindex, tree1item, iconpathitem); itemindex++; itemname = "Loading lists"; //------------------------------------------------------------------------ ts_dialogcontrol(iIKTreeView, "TreeViewInsertItem", rootitem, -65535, tree1item); ts_dialogcontrol(iIKTreeView, "SetItemText", tree1item, itemname); ts_dialogcontrol(iIKTreeView, "SetItemNormalIcon", tree1item, iconpath); ts_dialogcontrol(iIKTreeView, "SetItemValue", tree1item, -1); VorPosWithIFCVARNameFromPrgFile("load_elements_list with filter table.cpp", itemindex, tree1item, iconpathitem); itemindex++; itemname = "Labpp_Calc"; //------------------------------------------------------------------------ ts_dialogcontrol(iIKTreeView, "TreeViewInsertItem", rootitem, -65535, tree1item); ts_dialogcontrol(iIKTreeView, "SetItemText", tree1item, itemname); ts_dialogcontrol(iIKTreeView, "SetItemNormalIcon", tree1item, iconpath); ts_dialogcontrol(iIKTreeView, "SetItemValue", tree1item, -1); VorPosWithIFCVARNameFromPrgFile("load_elements_list with filter table + calc and place result to labpp_calc.cpp", itemindex, tree1item, iconpathitem); itemindex++; itemname = "Text working"; //------------------------------------------------------------------------ ts_dialogcontrol(iIKTreeView, "TreeViewInsertItem", rootitem, -65535, tree1item); ts_dialogcontrol(iIKTreeView, "SetItemText", tree1item, itemname); ts_dialogcontrol(iIKTreeView, "SetItemNormalIcon", tree1item, iconpath); ts_dialogcontrol(iIKTreeView, "SetItemValue", tree1item, -1); VorPosWithIFCVARNameFromPrgFile("get_numbers_from_text_by_regex.cpp", itemindex, tree1item, iconpathitem); itemindex++; itemname = "Tables"; //------------------------------------------------------------------------ ts_dialogcontrol(iIKTreeView, "TreeViewInsertItem", rootitem, -65535, tree1item); ts_dialogcontrol(iIKTreeView, "SetItemText", tree1item, itemname); ts_dialogcontrol(iIKTreeView, "SetItemNormalIcon", tree1item, iconpath); ts_dialogcontrol(iIKTreeView, "SetItemValue", tree1item, -1); VorPosWithIFCVARNameFromPrgFile("ts_table_create.cpp", itemindex, tree1item, iconpathitem); itemindex++; VorPosWithIFCVARNameFromPrgFile("ts_table run filter editor.cpp", itemindex, tree1item, iconpathitem); itemindex++; VorPosWithIFCVARNameFromPrgFile("ts_table_filter_create.cpp", itemindex, tree1item, iconpathitem); itemindex++; VorPosWithIFCVARNameFromPrgFile("ts_table - create filtered table from base table.cpp", itemindex, tree1item, iconpathitem); itemindex++; itemname = "Modal Dialog"; //------------------------------------------------------------------------ ts_dialogcontrol(iIKTreeView, "TreeViewInsertItem", rootitem, -65535, tree1item); ts_dialogcontrol(iIKTreeView, "SetItemText", tree1item, itemname); ts_dialogcontrol(iIKTreeView, "SetItemNormalIcon", tree1item, iconpath); ts_dialogcontrol(iIKTreeView, "SetItemValue", tree1item, -1); VorPosWithIFCVARNameFromPrgFile("Modal dialog simple listbox with checking column.cpp", itemindex, tree1item, iconpathitem); itemindex++; itemname = "ModeLess Dialog"; //------------------------------------------------------------------------ ts_dialogcontrol(iIKTreeView, "TreeViewInsertItem", rootitem, -65535, tree1item); ts_dialogcontrol(iIKTreeView, "SetItemText", tree1item, itemname); ts_dialogcontrol(iIKTreeView, "SetItemNormalIcon", tree1item, iconpath); ts_dialogcontrol(iIKTreeView, "SetItemValue", tree1item, -1); VorPosWithIFCVARNameFromPrgFile("Modeless empty panel dialog.cpp", itemindex, tree1item, iconpathitem); itemindex++; VorPosWithIFCVARNameFromPrgFile("Modeless dialog simple listbox with checking column.cpp", itemindex, tree1item, iconpathitem); itemindex++; VorPosWithIFCVARNameFromPrgFile("Extended dialog - many pages, a listbox with sort and filter.cpp", itemindex, tree1item, iconpathitem); itemindex++; itemname = "Dialog Controls"; //------------------------------------------------------------------------ ts_dialogcontrol(iIKTreeView, "TreeViewInsertItem", rootitem, -65535, tree1item); ts_dialogcontrol(iIKTreeView, "SetItemText", tree1item, itemname); ts_dialogcontrol(iIKTreeView, "SetItemNormalIcon", tree1item, iconpath); ts_dialogcontrol(iIKTreeView, "SetItemValue", tree1item, -1); VorPosWithIFCVARNameFromPrgFile("dialog control - button.cpp", itemindex, tree1item, ipath+"\\Button.png"); itemindex++; VorPosWithIFCVARNameFromPrgFile("dialog control - checkbox.cpp", itemindex, tree1item, ipath + "\\CheckBox.png"); itemindex++; VorPosWithIFCVARNameFromPrgFile("dialog control - splitter.cpp", itemindex, tree1item, ipath + "\\Splitter.png"); itemindex++; VorPosWithIFCVARNameFromPrgFile("dialog control - textedit, realedit, intedit, posintedit.cpp", itemindex, tree1item, ipath + "\\EditText2.png"); itemindex++; VorPosWithIFCVARNameFromPrgFile("dialog control - textedit+singlespin (create_simple_searcher).cpp", itemindex, tree1item, ipath + "\\SearchEdit.png"); itemindex++; VorPosWithIFCVARNameFromPrgFile("dialog control - lefttext, righttext, centertext.cpp", itemindex, tree1item, ipath + "\\Text2.png"); itemindex++; VorPosWithIFCVARNameFromPrgFile("dialog control - iconbutton.cpp", itemindex, tree1item, ipath + "\\IconButton.png"); itemindex++; VorPosWithIFCVARNameFromPrgFile("dialog control - iconcheckbox.cpp", itemindex, tree1item, ipath + "\\IconCheckBox.png"); itemindex++; VorPosWithIFCVARNameFromPrgFile("dialog control - iconitem.cpp", itemindex, tree1item, ipath + "\\IconItem.png"); itemindex++; VorPosWithIFCVARNameFromPrgFile("dialog control - groupbox.cpp", itemindex, tree1item, ipath + "\\GroupBox.png"); itemindex++; VorPosWithIFCVARNameFromPrgFile("dialog control - iconpushcheck.cpp", itemindex, tree1item, ipath + "\\IconPushCheck.png"); itemindex++; VorPosWithIFCVARNameFromPrgFile("dialog control - iconpushradio.cpp", itemindex, tree1item, ipath + "\\IconPushRadio.png"); itemindex++; VorPosWithIFCVARNameFromPrgFile("dialog control - iconradiobutton.cpp", itemindex, tree1item, ipath + "\\IconRadioButton.png"); itemindex++; VorPosWithIFCVARNameFromPrgFile("dialog control - pictureitem.cpp", itemindex, tree1item, ipath + "\\PictureItem.png"); itemindex++; VorPosWithIFCVARNameFromPrgFile("dialog control - popup.cpp", itemindex, tree1item, ipath + "\\PopUp.png"); itemindex++; VorPosWithIFCVARNameFromPrgFile("dialog control - progressbar.cpp", itemindex, tree1item, ipath + "\\ProgressBar.png"); itemindex++; VorPosWithIFCVARNameFromPrgFile("dialog control - pushcheck.cpp", itemindex, tree1item, ipath + "\\PushCheck.png"); itemindex++; VorPosWithIFCVARNameFromPrgFile("dialog control - pushradio.cpp", itemindex, tree1item, ipath + "\\PushRadio.png"); itemindex++; VorPosWithIFCVARNameFromPrgFile("dialog control - radiobutton.cpp", itemindex, tree1item, ipath + "\\RadioButton.png"); itemindex++; VorPosWithIFCVARNameFromPrgFile("dialog control - singlespin.cpp", itemindex, tree1item, ipath + "\\SpinControl.png"); itemindex++; VorPosWithIFCVARNameFromPrgFile("dialog control - slider.cpp", itemindex, tree1item, ipath + "\\Slider.png"); itemindex++; VorPosWithIFCVARNameFromPrgFile("dialog control - multilineedit.cpp", itemindex, tree1item, ipath + "\\MultiLineEdit.png"); itemindex++; VorPosWithIFCVARNameFromPrgFile("dialog control - richedit.cpp", itemindex, tree1item, ipath + "\\RichEdit.png"); itemindex++; VorPosWithIFCVARNameFromPrgFile("dialog control - singlesellistbox.cpp", itemindex, tree1item, ipath + "\\SingleSelListBox.png"); itemindex++; VorPosWithIFCVARNameFromPrgFile("dialog control - multisellistbox.cpp", itemindex, tree1item, ipath + "\\MultiSelListBox.png"); itemindex++; VorPosWithIFCVARNameFromPrgFile("dialog control - singlesellistview.cpp", itemindex, tree1item, ipath + "\\SingleSelListView.png"); itemindex++; VorPosWithIFCVARNameFromPrgFile("dialog control - multisellistview.cpp", itemindex, tree1item, ipath + "\\MultiSelListView.png"); itemindex++; VorPosWithIFCVARNameFromPrgFile("dialog control - singleseltreeview.cpp", itemindex, tree1item, ipath + "\\SingleSelTreeView.png"); itemindex++; VorPosWithIFCVARNameFromPrgFile("dialog control - multiseltreeview.cpp", itemindex, tree1item, ipath + "\\MultiSelTreeView.png"); itemindex++; VorPosWithIFCVARNameFromPrgFile("dialog control - tsqr.cpp", itemindex, tree1item, ipath + "\\QR.png"); itemindex++; VorPosWithIFCVARNameFromPrgFile("dialog control - pushmenucheck.cpp", itemindex, tree1item, ipath + "\\PushMenuCheck.png"); itemindex++; VorPosWithIFCVARNameFromPrgFile("dialog control - pushmenuradio.cpp", itemindex, tree1item, ipath + "\\PushMenuRadio.png"); itemindex++; ts_dialogcontrol(iIKTreeView, "TreeViewInsertItem", 0, 0, rootitem); ts_dialogcontrol(iIKTreeView, "SetItemText", rootitem, "Solution examples"); ts_dialogcontrol(iIKTreeView, "SetItemValue", rootitem, -1); ts_dialogcontrol(iIKTreeView, "SetItemNormalIcon", rootitem, iconpathall); itemname = "Excel"; //------------------------------------------------------------------------ ts_dialogcontrol(iIKTreeView, "TreeViewInsertItem", rootitem, -65535, tree1item); ts_dialogcontrol(iIKTreeView, "SetItemText", tree1item, itemname); ts_dialogcontrol(iIKTreeView, "SetItemNormalIcon", tree1item, iconpath); ts_dialogcontrol(iIKTreeView, "SetItemValue", tree1item, -1); VorPosWithIFCVARNameFromPrgFile("Generate_Codecpp_From_ExcelTable.cpp", itemindex, tree1item, ipath+"\\CALC_EXL256.png"); itemindex++; itemname = "Run Control"; //------------------------------------------------------------------------ ts_dialogcontrol(iIKTreeView, "TreeViewInsertItem", rootitem, -65535, tree1item); ts_dialogcontrol(iIKTreeView, "SetItemText", tree1item, itemname); ts_dialogcontrol(iIKTreeView, "SetItemNormalIcon", tree1item, iconpath); ts_dialogcontrol(iIKTreeView, "SetItemValue", tree1item, -1); VorPosWithIFCVARNameFromPrgFile("Long Time Loop control with ac_process_window.cpp", itemindex, tree1item, ipath + "\\ProcessWindow.png"); itemindex++; itemname = "Tools"; //------------------------------------------------------------------------ ts_dialogcontrol(iIKTreeView, "TreeViewInsertItem", rootitem, -65535, tree1item); ts_dialogcontrol(iIKTreeView, "SetItemText", tree1item, itemname); ts_dialogcontrol(iIKTreeView, "SetItemNormalIcon", tree1item, iconpath); ts_dialogcontrol(iIKTreeView, "SetItemValue", tree1item, -1); VorPosWithIFCVARNameFromPrgFile("Regex Tester.cpp", itemindex, tree1item, ipath + "\\RegexTest.png"); itemindex++; ts_dialogcontrol(iIKTreeView, "TreeViewInsertItem", 0, 0, rootitem); ts_dialogcontrol(iIKTreeView, "SetItemText", rootitem, "GDL programming"); ts_dialogcontrol(iIKTreeView, "SetItemValue", rootitem, -1); ts_dialogcontrol(iIKTreeView, "SetItemNormalIcon", rootitem, iconpathall); itemname = "Model View elements"; //------------------------------------------------------------------------ ts_dialogcontrol(iIKTreeView, "TreeViewInsertItem", rootitem, -65535, tree1item); ts_dialogcontrol(iIKTreeView, "SetItemText", tree1item, itemname); ts_dialogcontrol(iIKTreeView, "SetItemNormalIcon", tree1item, iconpath); ts_dialogcontrol(iIKTreeView, "SetItemValue", tree1item, -1); VorPosWithIFCVARNameFromPrgFile("gdl_modelview_readparameterfromglobalelem.cpp", itemindex, tree1item, ipath + "\\gdl.png"); itemindex++; #pragma endregion // yy = 370; x = 5; y = yy; h = 24; w = 24; shell_func("get_path", "currentcppfiles", iconpath); coutvar << iconpath; object("create", "ts_dialogcontrol", iButtonOpenInNotepad, "iButtonOpenInNotepad"); ts_dialogcontrol(iButtonOpenInNotepad, "init_control", "iconbutton", iDialogDescr, x, y-2, w, h); ts_dialogcontrol(iButtonOpenInNotepad, "eventreaction", "Event_ButtonClicked"); ts_dialogcontrol(iButtonOpenInNotepad, "settooltip", "Open programm module of generator item"); ts_dialogcontrol(iButtonOpenInNotepad, "SetAnchorToPanelResize", 0, 1, 0, 0); ts_dialogcontrol(iButtonOpenInNotepad, "seticon", iconpath + "\\EditPRGitem.png"); x += 24; w = 24; object("create", "ts_dialogcontrol", iButton_LabPP_Table_Editor); ts_dialogcontrol(iButton_LabPP_Table_Editor, "init_control", "iconbutton", iDialogDescr, x, y-2, w, 24); ts_dialogcontrol(iButton_LabPP_Table_Editor, "SetAnchorToPanelResize", 0, 1, 0, 0); ts_dialogcontrol(iButton_LabPP_Table_Editor, "eventreaction", "Event_ButtonClicked"); ts_dialogcontrol(iButton_LabPP_Table_Editor, "settooltip", "LabPP_Table editor"); ts_dialogcontrol(iButton_LabPP_Table_Editor, "seticon", iconpath + "\\edit.png"); x += 24; w = 24; object("create", "ts_dialogcontrol", iButtonTableFilterShow); ts_dialogcontrol(iButtonTableFilterShow, "init_control", "iconbutton", iDialogDescr, x, y-2, w, 24); ts_dialogcontrol(iButtonTableFilterShow, "SetAnchorToPanelResize", 0, 1, 0, 0); ts_dialogcontrol(iButtonTableFilterShow, "eventreaction", "Event_ButtonClicked"); ts_dialogcontrol(iButtonTableFilterShow, "settooltip", "Показать расширенный редактор фильтра"); ts_dialogcontrol(iButtonTableFilterShow, "seticon", iconpath + "\\FromBufferToFilter.png"); x += 24; w = 24; object("create", "ts_dialogcontrol", iButton_DControlManipula); ts_dialogcontrol(iButton_DControlManipula, "init_control", "iconbutton", iDialogDescr, x, y-2, w, 24); ts_dialogcontrol(iButton_DControlManipula, "SetAnchorToPanelResize", 0, 1, 0, 0); ts_dialogcontrol(iButton_DControlManipula, "eventreaction", "Event_ButtonClicked"); ts_dialogcontrol(iButton_DControlManipula, "settooltip", "Open Dialog Control Manipulator"); ts_dialogcontrol(iButton_DControlManipula, "seticon", iconpath + "\\DControl Manipula.png"); h = 20; x = x + w; w = 100; object("create", "ts_dialogcontrol", iButtonHelp, "iButtonHelp"); ts_dialogcontrol(iButtonHelp, "init_control", "button", iDialogDescr, x, y, w, h); ts_dialogcontrol(iButtonHelp, "eventreaction", "Event_ButtonClicked"); ts_dialogcontrol(iButtonHelp, "settext", "Information"); ts_dialogcontrol(iButtonHelp, "settooltip", "Information aboue generation procedure work"); ts_dialogcontrol(iButtonHelp, "SetAnchorToPanelResize", 0, 1, 0, 0); x = x + w; y = yy; h = 20; w = 100; object("create", "ts_dialogcontrol", iButtonGenerate, "iButtonGenerate"); ts_dialogcontrol(iButtonGenerate, "init_control", "button", iDialogDescr, x, y, w, h); ts_dialogcontrol(iButtonGenerate, "eventreaction", "Event_ButtonClicked"); ts_dialogcontrol(iButtonGenerate, "settext", "Generate"); ts_dialogcontrol(iButtonGenerate, "settooltip", "Do code generation"); ts_dialogcontrol(iButtonGenerate, "SetAnchorToPanelResize", 0, 1, 0, 0); x = delta / 2; y = yy - 16; w = 440; h = 10; object("create", "ts_dialogcontrol", iProgressBar, "ProgressBar"); ts_dialogcontrol(iProgressBar, "init_control", "progressbar", iDialogDescr, x, y, w, h); ts_dialogcontrol(iProgressBar, "SetMin", 0); ts_dialogcontrol(iProgressBar, "SetMax", 100); ts_dialogcontrol(iProgressBar, "SetValue", 0); ts_dialogcontrol(iProgressBar, "SetAnchorToPanelResize", 0, 1, 1, 0); ts_dialog(iDialogDescr, "invoke", bres); return 0; } int Event_TreeViewSelectionChanged(int iDescr, string sDescr) { int floorindex; //refreshFlatListBox(floorindex); } int Event_ButtonClicked(int iDescr, string sDescr) { if (sDescr == "iButtonGenerate") { do_RUN("Generate"); } else if (sDescr == "iButtonHelp") { do_RUN("Help"); } else if (sDescr == "iButtonOpenInNotepad") { do_RUN("EditCppFile"); } else if (sDescr == "iButtonTableFilterShow") { Do_iButtonTableFilterShow(); } else if (sDescr == "iButton_LabPP_Table_Editor") { Do_iButton_LabPP_Table_Editor(); } else if (sDescr == "iButton_DControlManipula") { Do_iButton_DControlManipula(); } } int Do_iButton_LabPP_Table_Editor() { string path; shell_func("get_path", "currentcpp", path); string programpath = path + "\\" + "LabPP_Table_unicode.cpp"; ac_request("clearmessagewindow"); int iret = run_cpp("run_from_file", programpath, 1,1,""); } int do_RUN(string sArg) { int item; ts_dialogcontrol(iIKTreeView, "GetSelectedItem", item); //cout << item << "\n"; int ivalue; ts_dialogcontrol(iIKTreeView, "GetItemValue", item, ivalue); //cout << ivalue << "\n"; string program = ""; if (ivalue < 0) { return -1; } ts_table(iTablePCGIK, "select_row", ivalue); ts_table(iTablePCGIK, "get_value_of", 1, program); int iret; string programpath; string path; shell_func("get_path", "currentcpp", path); programpath = path + "\\Items\\" + program; if (sArg == "EditCppFile") { programpath = "\"" + programpath + "\""; shell_func("shellexecute", "open", "Notepad++", programpath); return 0; } ac_request("clearmessagewindow"); iret = run_cpp("run_from_file", programpath, 10 * 1, 1.1, sArg); if (sArg == "Generate") { string prg_code_gen; var_extern_get("PCG item result", prg_code_gen); ts_dialogcontrol(iMultiLineEdit, "settext", prg_code_gen); } } // вставить новую позицию в список с использованием имени IFC переменной, полученной из файла программы - обработчика позиции VOR int VorPosWithIFCVARNameFromPrgFile(string program, int itemindex, int tree1item, string iconpathitem) { int iret; string programpath; string path; shell_func("get_path", "currentcpp", path); programpath = path + "\\Items\\" + program; string sArg = "Get PCG item name"; iret = run_cpp("run_from_file", programpath, 10 * 1, 1.1, sArg); if (iret == 0) { string PCG_Item_Name; var_extern_get("PCG item name", PCG_Item_Name); string itemname = strreplace(PCG_Item_Name, "\n", " ", 0, 0, -1); int newitem; ts_table(iTablePCGIK, "add_row", 0, itemindex, 1, program); ts_dialogcontrol(iIKTreeView, "TreeViewInsertItem", tree1item, -65535, newitem); ts_dialogcontrol(iIKTreeView, "SetItemText", newitem, itemname); ts_dialogcontrol(iIKTreeView, "SetItemValue", newitem, itemindex); ts_dialogcontrol(iIKTreeView, "SetItemNormalIcon", newitem, iconpathitem); } return 0; } int iTable_Filter_Constructor; int Do_iButtonTableFilterShow() { object("create", "ts_table", iTable_Filter_Constructor, "iTable_Filter_Constructor"); ts_table(iTable_Filter_Constructor, "create_structure_for_filter_table"); ts_table(iTable_Filter_Constructor, "edit_as_filter_table"); object("KeepInMemory", iTable_Filter_Constructor); } int Do_iButton_DControlManipula() { string path; shell_func("get_path", "currentcpp", path); string programpath = path + "\\" + "DControl Manipula.cpp"; ac_request("clearmessagewindow"); int iret = run_cpp("run_from_file", programpath, 1, 1, ""); }