; --------------------------------------------------------------------------------------------; Copyright (c) Fantaisie Software and Gaetan DUPONT-PANON. All rights reserved.; Dual licensed under the GPL and Fantaisie Software licenses.; See LICENSE and LICENSE-FANTAISIE in the project root for license information.; --------------------------------------------------------------------------------------------Procedure AddFormInfo(FileName$ = "")LastElement(FileList())*OldSource = *ActiveSourceIf *FormInfo = 0InitVars()FD_Init()*FormInfo = AddElement(FileList())OpenGadgetList(#GADGET_SourceContainer); Create the Form gadgets;ContainerGadget(#GADGET_Form, 0, 0, 0, 0)CompilerIf #CompileWindowsSetWindowLongPtr_(GadgetID(#GADGET_Form), #GWL_STYLE, GetWindowLongPtr_(GadgetID(#GADGET_Form), #GWL_STYLE) | #WS_CLIPCHILDREN)CompilerEndIfCanvasGadget(#GADGET_Form_Canvas, 0, 0, 50 - 20, 50 - 20, #PB_Canvas_Keyboard)EnableGadgetDrop(#GADGET_Form_Canvas, #PB_Drop_Private, #PB_Drag_Copy, 50)ScrollBarGadget(#GADGET_Form_ScrollH, 0, 0, 50, 20, 0, 600, 600)BindGadgetEvent(#GADGET_Form_ScrollH, @Form_Scrollbars())ScrollBarGadget(#GADGET_Form_ScrollV, 0, 0, 20, 50, 0, 400, 400, #PB_ScrollBar_Vertical)BindGadgetEvent(#GADGET_Form_ScrollV, @Form_Scrollbars())CloseGadgetList()HideGadget(#GADGET_Form, #True); This creates a full Scintilla with the big callback, but it is never shown,; and so it doesn't matter. This way, the code that expects a Scintilla to be; present will work without crashing;CreateEditorGadget()CloseGadgetList()Else*FormInfo = AddElement(FileList())OpenGadgetList(#GADGET_SourceContainer)CreateEditorGadget()CloseGadgetList()EndIfHideEditorGadget(*FormInfo\EditorGadget, #True) ; this is never visibleIf FileName$ = ""Title$ = Language("FileStuff","NewForm")ElseTitle$ = GetFilePart(FileName$)EndIfFileList()\ID = GetUniqueID()FileList()\IsForm = FD_NewWindow()FileList()\IsCode = #True ; TODO: check if this is correctFileList()\FileName$ = FileName$FileList()\Debugger = OptionDebugger ; set the default valuesFileList()\EnablePurifier = OptionPurifierFileList()\Optimizer = OptionOptimizerFileList()\EnableASM = OptionInlineASMFileList()\EnableXP = OptionXPSkinFileList()\EnableAdmin = OptionVistaAdminFileList()\EnableUser = OptionVistaUserFileList()\DllProtection = OptionDllProtectionFileList()\SharedUCRT = OptionSharedUCRTFileList()\EnableThread = OptionThreadFileList()\EnableOnError = OptionOnErrorFileList()\ExecutableFormat = OptionExeFormatFileList()\CPU = OptionCPUFileList()\NewLineType = OptionNewLineTypeFileList()\SubSystem$ = OptionSubSystem$FileList()\ErrorLog = OptionErrorLogFileList()\Parser\Encoding = OptionEncodingFileList()\UseCreateExe = OptionUseCreateExeFileList()\UseBuildCount = OptionUseBuildCountFileList()\UseCompileCount = OptionUseCompileCountFileList()\TemporaryExePlace= OptionTemporaryExeFileList()\CustomCompiler = OptionCustomCompilerFileList()\CompilerVersion$ = OptionCompilerVersion$FileList()\CurrentDirectory$= ""FileList()\ToggleFolds = 1FileList()\CustomCompiler = 0FileList()\PurifierGranularity$ = ""FileList()\ExistsOnDisk = #FalseIf OptionEncoding = 0ScintillaSendMessage(FileList()\EditorGadget, #SCI_SETCODEPAGE, 0, 0)ElseScintillaSendMessage(FileList()\EditorGadget, #SCI_SETCODEPAGE, #SC_CP_UTF8, 0)EndIfIf EnableColoringSetBackgroundColor(FileList()\EditorGadget)EndIfIndex = AddTabBarGadgetItem(#GADGET_FilesPanel, #PB_Default, Title$)SetTabBarGadgetItemColor(#GADGET_FilesPanel, Index, #PB_Gadget_FrontColor, #COLOR_FilePanelFront)SetTabBarGadgetItemColor(#GADGET_FilesPanel, Index, #PB_Gadget_BackColor, #COLOR_FormFile)ChangeActiveSourceCode(*OldSource)ResizeMainWindow()ActivateTool("Form")EndProcedureProcedure ResizeFormInfo(Width, Height)FD_UpdateScrollbars(1)swidth = Width - Grid_Scrollbar_Widthsheight = Height - Grid_Scrollbar_WidthIf swidth < 1swidth = 1EndIfIf sheight < 1 ; ResizeImage can't handle 0 or negative sizesheight = 1EndIf; Only resize it for bigger size, to have a fast splitter resize (resizing image and canvas is somewhat slow on big screen);ResizeGadget(#GADGET_Form_Canvas, 0, 0, swidth, sheight)ResizeImage(#Drawing_Img, DesktopScaledX(swidth), DesktopScaledY(sheight))redraw = 1EndProcedureProcedure NewForm()AddFormInfo()EndProcedureProcedure OpenForm(FileName$)AddFormInfo(FileName$)FD_Open(FileName$)EndProcedureProcedure FD_PrepareTestCode(compile = 1); if the current view is the code view, switch to design view and update changesIf compile And FormWindows()\current_view = 1FD_SetDesignView()EndIfIf propgrid ; exit edit mode in case the user is in edit mode in the form panel grid.grid_StopEditing(propgrid)EndIfcode$ = FD_SelectCode(1, compile)SendEditorMessage(#SCI_CLEARALL, 0, 0) ; should completely erase the old document and create a new oneInsertCodeString(code$)SendEditorMessage(#SCI_EMPTYUNDOBUFFER, 0, 0) ; so this loading cannot be undoneSetSourceModified(#True) ; Set the code source as modifiedIf Not compileFullSourceScan(*ActiveSource)UpdateFolding(*ActiveSource, 0, -1)UpdateProcedureList()UpdateVariableViewer()EndIfEndProcedure;- FormPanel plugin functionsProcedure FormPanel_CreateFunction(*Entry.ToolsPanelEntry)PanelGadget(#Form_Prop, 0, 0, 50, 50)AddGadgetItem(#Form_Prop, 0, Language("Form", "Toolbox"))gadgetlist = TreeGadget(#PB_Any, 0, 0, GetGadgetAttribute(#Form_Prop, #PB_Panel_ItemWidth), GetGadgetAttribute(#Form_Prop, #PB_Panel_ItemHeight), #PB_Tree_NoLines | #PB_Tree_AlwaysShowSelection)i = 0AddGadgetItem(gadgetlist, i, Language("Form", "AllForms"), 0, 0) : i + 1SetGadgetItemData(gadgetlist, i - 1, -1)AddGadgetItem(gadgetlist, i, Language("Form", "Cursor"), ImageID(#IMAGE_FormIcons_Cursor), 1) : i + 1SetGadgetItemData(gadgetlist, i - 1, -1)ForEach Gadgets()If Gadgets()\type <> #Form_Type_WindowAddGadgetItem(gadgetlist, i, Gadgets()\name, ImageID(Gadgets()\icon), 1)SetGadgetItemData(gadgetlist, i, Gadgets()\type)i + 1EndIfNextnode1 = iAddGadgetItem(gadgetlist, i, Language("Form", "CommonControls"), 0, 0) : i + 1SetGadgetItemData(gadgetlist,i - 1,-1)AddGadgetItem(gadgetlist, i, Language("Form", "Cursor"), ImageID(#IMAGE_FormIcons_Cursor), 1) : i + 1SetGadgetItemData(gadgetlist, i - 1, -1)ForEach Gadgets()If Gadgets()\node = 1AddGadgetItem(gadgetlist, i, Gadgets()\name, ImageID(Gadgets()\icon), 1)SetGadgetItemData(gadgetlist, i, Gadgets()\type)If Gadgets()\type = #Form_Type_Buttonnodesel = iEndIfi + 1EndIfNextnode2 = iAddGadgetItem(gadgetlist, i, Language("Form", "Containers"), 0, 0) : i + 1SetGadgetItemData(gadgetlist, i - 1, -1)AddGadgetItem(gadgetlist, i, Language("Form", "Cursor"), ImageID(#IMAGE_FormIcons_Cursor), 1) : i + 1SetGadgetItemData(gadgetlist, i - 1, -1)ForEach Gadgets()If Gadgets()\node = 2AddGadgetItem(gadgetlist, i, Gadgets()\name, ImageID(Gadgets()\icon), 1)SetGadgetItemData(gadgetlist, i, Gadgets()\type)i + 1EndIfNextnode3 = iAddGadgetItem(gadgetlist, i, Language("Form", "MenusToolbars"), 0, 0) : i + 1SetGadgetItemData(gadgetlist, i - 1, -1)AddGadgetItem(gadgetlist, i, Language("Form", "Cursor"), ImageID(#IMAGE_FormIcons_Cursor), 1) : i + 1SetGadgetItemData(gadgetlist, i - 1, -1)ForEach Gadgets()If Gadgets()\node = 3AddGadgetItem(gadgetlist, i, Gadgets()\name, ImageID(Gadgets()\icon), 1)SetGadgetItemData(gadgetlist, i, Gadgets()\type)i + 1EndIfNextSetGadgetItemState(gadgetlist, 0, #PB_Tree_Collapsed)SetGadgetItemState(gadgetlist, node1, #PB_Tree_Expanded)SetGadgetItemState(gadgetlist, node2, #PB_Tree_Expanded)SetGadgetItemState(gadgetlist, node3, #PB_Tree_Expanded)SetGadgetState(gadgetlist, nodesel)form_gadget_type = #Form_Type_ButtonAddGadgetItem(#Form_Prop, 1, Language("Form", "Objects"))TreeGadget(#Form_PropObjList, 0, 0, GetGadgetAttribute(#Form_Prop, #PB_Panel_ItemWidth), GetGadgetAttribute(#Form_Prop, #PB_Panel_ItemHeight), #PB_Tree_AlwaysShowSelection)EnableGadgetDrop(#Form_PropObjList, #PB_Drop_Private, #PB_Drag_Move, #Form_PropObjList)CloseGadgetList() ; Close the panelContainerGadget(#Form_GridContainer,0,0,100,100)If *Entry\IsSeparateWindowCurrentParentWindow = *Entry\ToolWindowIDAddKeyboardShortcut(CurrentParentWindow, #PB_Shortcut_Command | #PB_Shortcut_C, #Menu_Copy)AddKeyboardShortcut(CurrentParentWindow, #PB_Shortcut_Command | #PB_Shortcut_X, #Menu_Cut)AddKeyboardShortcut(CurrentParentWindow, #PB_Shortcut_Command | #PB_Shortcut_V, #Menu_Paste)ElseCurrentParentWindow = #WINDOW_MainEndIfpropgrid = GridGadget(0, 0, GadgetWidth(#Form_GridContainer), GadgetHeight(#Form_GridContainer), CurrentParentWindow, 3, 0, 20, 100, P_FontGrid, #P_FontGridSize, 0, #Form_GridContainer)grid_SetGadgetAttribute(propgrid, #Grid_Scrolling_Horizontal_Disabled, 1)grid_SetGadgetAttribute(propgrid, #Grid_Caption_Row, 1)grid_SetGadgetAttribute(propgrid, #Grid_Caption_Col, 1)grid_SetGadgetAttribute(propgrid, #Grid_Disable_Delete, 1)CompilerIf #CompileMacgrid_SetGadgetColor(propgrid, #Grid_Color_LineLight, GetCocoaColor("systemGrayColor"))CompilerElsegrid_SetGadgetColor(propgrid, #Grid_Color_LineLight, RGB(238, 238, 238))CompilerEndIfpropgrid_combo = grid_CreateComboBox(propgrid)propgrid_proccombo = grid_CreateComboBox(propgrid)grid_SetColumnWidth(propgrid, 0, 20)grid_SetColumnWidth(propgrid, 1)grid_SetColumnWidth(propgrid, 2, grid_GadgetWidth(propgrid) - grid_GetColumnWidth(propgrid, 0) - grid_GetColumnWidth(propgrid, 1))CloseGadgetList() ; Close the containerSplitterGadget(#Form_SplitterInt, 0, 0, 100, 200, #Form_Prop, #Form_GridContainer, #PB_Splitter_FirstFixed)SetGadgetAttribute(#Form_SplitterInt, #PB_Splitter_FirstMinimumSize, 100)SetGadgetAttribute(#Form_SplitterInt, #PB_Splitter_SecondMinimumSize, 100)If form_splitter_pos <= 0form_splitter_pos = 230EndIfSetGadgetState(#Form_SplitterInt, form_splitter_pos)If *Entry\IsSeparateWindow = 0 Or NoIndependentToolsColors = 0ToolsPanel_ApplyColors(#Form_PropObjList)ToolsPanel_ApplyColors(gadgetlist)ToolsPanel_ApplyColors(propgrid)EndIfIf currentwindowFD_SelectWindow(currentwindow)FD_UpdateObjList()EndIfEndProcedureProcedure FormPanel_ResizeHandler(*Entry.ToolsPanelEntry, PanelWidth, PanelHeight)If *Entry\IsSeparateWindowResizeGadget(#Form_SplitterInt, 5, 5, PanelWidth-10, PanelHeight-10)ElseResizeGadget(#Form_SplitterInt, 0, 0, PanelWidth, PanelHeight)EndIfSetGadgetState(#Form_SplitterInt, form_splitter_pos)ResizeGadget(gadgetlist, 0, 0, GetGadgetAttribute(#Form_Prop, #PB_Panel_ItemWidth), GetGadgetAttribute(#Form_Prop, #PB_Panel_ItemHeight))ResizeGadget(#Form_PropObjList, 0, 0, GetGadgetAttribute(#Form_Prop, #PB_Panel_ItemWidth), GetGadgetAttribute(#Form_Prop, #PB_Panel_ItemHeight))grid_ResizeGadget(propgrid, 0, 0, GadgetWidth(#Form_GridContainer), GadgetHeight(#Form_GridContainer))grid_SetColumnWidth(propgrid, 0, 20)grid_SetColumnWidth(propgrid,1)width = grid_GadgetInnerWidth(propgrid) - grid_GetColumnWidth(propgrid, 0) - grid_GetColumnWidth(propgrid, 1)If width < 40width = 40EndIfgrid_SetColumnWidth(propgrid, 2, width)EndProcedureProcedure FormPanel_EventHandler(*Entry.ToolsPanelEntry, EventGadgetID)If EventGadgetID = #Form_SplitterIntgrid_ResizeGadget(propgrid, 0, 0, GadgetWidth(#Form_GridContainer), GadgetHeight(#Form_GridContainer))ResizeGadget(#Form_PropObjList, 0, 0, GetGadgetAttribute(#Form_Prop, #PB_Panel_ItemWidth), GetGadgetAttribute(#Form_Prop, #PB_Panel_ItemHeight))ResizeGadget(gadgetlist, 0, 0, GetGadgetAttribute(#Form_Prop, #PB_Panel_ItemWidth), GetGadgetAttribute(#Form_Prop, #PB_Panel_ItemHeight))form_splitter_pos = GetGadgetState(#Form_SplitterInt)EndIfIf *ActiveSource And *ActiveSource\IsFormSelect EventGadgetIDCase gadgetliststate = GetGadgetState(gadgetlist)If state > -1form_gadget_type = GetGadgetItemData(gadgetlist, state)EndIfIf form_gadget_type = #Form_Type_SplitterInitSplitterWin()EndIfSelect EventType()Case #PB_EventType_DragStartIf EventGadget() = gadgetlist And *ActiveSource\IsFormstate = GetGadgetState(gadgetlist)tmp_drag_type = GetGadgetItemData(gadgetlist, state)drag_type = 0If tmp_drag_type > 0Select tmp_drag_typeCase #Form_Type_Toolbar, #Form_Type_StatusBar, #Form_Type_Menu, #Form_Type_SplitterDefaultdrag_type = tmp_drag_typeDragPrivate(50)EndSelectEndIfEndIfCase #PB_EventType_LeftDoubleClickSelect form_gadget_typeCase #Form_Type_SplitterCase #Form_Type_ToolbarFormWindows()\toolbar_visible = 1redraw = 1Case #Form_Type_MenuFormWindows()\menu_visible = 1redraw = 1Case #Form_Type_StatusBarFormWindows()\status_visible = 1redraw = 1DefaultIf form_gadget_type > 0var.s = ""Select form_gadget_type ;{Case #Form_Type_Buttonvar = "Button_"+Str(FormWindows()\c_button)FormWindows()\c_button + 1Case #Form_Type_ButtonImgvar = "ButtonImage_"+Str(FormWindows()\c_buttonimg)FormWindows()\c_buttonimg + 1Case #Form_Type_StringGadgetvar = "String_"+Str(FormWindows()\c_string)FormWindows()\c_string + 1Case #Form_Type_Checkboxvar = "Checkbox_"+Str(FormWindows()\c_checkbox)FormWindows()\c_checkbox + 1Case #Form_Type_Textvar = "Text_"+Str(FormWindows()\c_text)FormWindows()\c_text + 1Case #Form_Type_Optionvar = "Option_"+Str(FormWindows()\c_option)FormWindows()\c_option + 1Case #Form_Type_TreeGadgetvar = "Tree_"+Str(FormWindows()\c_tree)FormWindows()\c_tree + 1Case #Form_Type_ListViewvar = "ListView_"+Str(FormWindows()\c_listview)clistview + 1Case #Form_Type_ListIconvar = "ListIcon_"+Str(FormWindows()\c_listicon)FormWindows()\c_listicon + 1Case #Form_Type_Combovar = "Combo_"+Str(FormWindows()\c_combo)FormWindows()\c_combo + 1Case #Form_Type_Spinvar = "Spin_"+Str(FormWindows()\c_spin)FormWindows()\c_spin + 1Case #Form_Type_Trackbarvar = "TrackBar_"+Str(FormWindows()\c_trackbar)FormWindows()\c_trackbar + 1Case #Form_Type_ProgressBarvar = "ProgressBar_"+Str(FormWindows()\c_progressbar)FormWindows()\c_progressbar + 1Case #Form_Type_Imgvar = "Image_"+Str(FormWindows()\c_image)FormWindows()\c_image + 1Case #Form_Type_IPvar = "IP_"+Str(FormWindows()\c_ip)FormWindows()\c_ip + 1Case #Form_Type_Scrollbarvar = "Scrollbar_"+Str(FormWindows()\c_scrollbar)FormWindows()\c_scrollbar + 1Case #Form_Type_HyperLinkvar = "Hyperlink_"+Str(FormWindows()\c_hyperlink)FormWindows()\c_hyperlink + 1Case #Form_Type_Editorvar = "Editor_"+Str(FormWindows()\c_editor)FormWindows()\c_editor + 1Case #Form_Type_ExplorerTreevar = "ExplorerTree_"+Str(FormWindows()\c_explorertree)FormWindows()\c_explorertree + 1Case #Form_Type_ExplorerListvar = "ExplorerList_"+Str(FormWindows()\c_explorerlist)FormWindows()\c_explorerlist + 1Case #Form_Type_ExplorerCombovar = "ExplorerCombo_"+Str(FormWindows()\c_explorercombo)FormWindows()\c_explorercombo + 1Case #Form_Type_Datevar = "Date_"+Str(FormWindows()\c_date)FormWindows()\c_date + 1Case #Form_Type_Calendarvar = "Calendar_"+Str(FormWindows()\c_calendar)FormWindows()\c_calendar + 1Case #Form_Type_OpenGLvar = "OpenGL_"+Str(FormWindows()\c_opengl)FormWindows()\c_opengl + 1Case #Form_Type_Scintillavar = "Scintilla_"+Str(FormWindows()\c_scintilla)FormWindows()\c_scintilla + 1Case #Form_Type_Splittervar = "Splitter_"+Str(FormWindows()\c_splitter)FormWindows()\c_splitter + 1Case #Form_Type_Frame3Dvar = "Frame3D_"+Str(FormWindows()\c_frame3D)FormWindows()\c_frame3D + 1Case #Form_Type_ScrollAreavar = "ScrollArea_"+Str(FormWindows()\c_scrollarea)FormWindows()\c_scrollarea + 1Case #Form_Type_Webvar = "WebView_"+Str(FormWindows()\c_web)FormWindows()\c_web + 1Case #Form_Type_WebViewvar = "WebView_"+Str(FormWindows()\c_web)FormWindows()\c_web + 1Case #Form_Type_Containervar = "Container_"+Str(FormWindows()\c_container)FormWindows()\c_container + 1Case #Form_Type_Panelvar = "Panel_"+Str(FormWindows()\c_panel)FormWindows()\c_panel + 1Case #Form_Type_Canvasvar = "Canvas_"+Str(FormWindows()\c_canvas)FormWindows()\c_canvas + 1EndSelect ;}d_x1 = 10d_x2 = 100 + d_x1d_y1 = 10d_y2 = 25 + d_y1ForEach FormWindows()\FormGadgets()FormWindows()\FormGadgets()\selected = 0NextAddElement(FormWindows()\FormGadgets())FormWindows()\FormGadgets()\x1 = d_x1FormWindows()\FormGadgets()\y1 = d_y1FormWindows()\FormGadgets()\x2 = d_x2FormWindows()\FormGadgets()\y2 = d_y2FormWindows()\FormGadgets()\selected = 1FormWindows()\FormGadgets()\type = form_gadget_typeFormWindows()\FormGadgets()\itemnumber = itemnumbersitemnumbers + 1FormChanges(1)Select form_gadget_typeCase #Form_Type_ListIconAddElement(FormWindows()\FormGadgets()\Columns())FormWindows()\FormGadgets()\Columns()\name = "Column 1"FormWindows()\FormGadgets()\Columns()\width = 100Case #Form_Type_ScrollAreaFormWindows()\FormGadgets()\min = d_x2 - d_x1 + 200FormWindows()\FormGadgets()\max = d_y2 - d_y1 + 200Case #Form_Type_ScintillaFormWindows()\FormGadgets()\caption = "Callback_"+var+"()"Case #Form_Type_PanelAddElement(FormWindows()\FormGadgets()\Items())FormWindows()\FormGadgets()\Items()\name = "Tab 1"EndSelectFormWindows()\FormGadgets()\frontcolor = -1FormWindows()\FormGadgets()\backcolor = -1FormWindows()\FormGadgets()\variable = varFormWindows()\FormGadgets()\pbany = FormVariableFormWindows()\FormGadgets()\captionvariable = FormVariableCaptionFormWindows()\FormGadgets()\tooltipvariable = FormVariableCaptionFormWindows()\FormGadgets()\lock_left = 1FormWindows()\FormGadgets()\lock_top = 1FD_UpdateSplitter()FormAddUndoAction(1,FormWindows(),FormWindows()\FormGadgets(),#Undo_Create)FD_UpdateObjList()FD_SelectGadget(FormWindows()\FormGadgets())redraw = 1EndIfEndSelectEndSelectCase #Form_PropObjListSelect EventType()Case #PB_EventType_DragStartpropobjlist_src = GetGadgetState(#Form_PropObjList)DragPrivate(#Form_PropObjList, #PB_Drag_Move)Case #PB_EventType_ChangeForEach FormWindows()\FormGadgets()FormWindows()\FormGadgets()\selected = 0Nextel = GetGadgetItemData(#Form_PropObjList, GetGadgetState(#Form_PropObjList))If elChangeCurrentElement(ObjList(), el)If ObjList()\gadgetChangeCurrentElement(FormWindows()\FormGadgets(), ObjList()\gadget)If ObjList()\gadget_item > -1FormWindows()\FormGadgets()\current_item = ObjList()\gadget_itemEndIfFormWindows()\FormGadgets()\selected = 1FD_SelectGadget(FormWindows()\FormGadgets())ElseChangeCurrentElement(ObjList(),el)FD_SelectWindow(ObjList()\window)EndIfSetActiveGadget(#GADGET_Form_Canvas)redraw = 1EndIfEndSelectEndSelectEndIfEndProcedureProcedure FormPanel_DestroyFunction(*Entry.ToolsPanelEntry)grid_FreeGadget(propgrid) ; Important to free the grid or some event could still get to it (timer and such) !propgrid = 0EndProcedureProcedure FormPanel_PreferenceLoad(*Entry.ToolsPanelEntry)PreferenceGroup("FormPanel")form_splitter_pos = ReadPreferenceLong("SplitterPos", 230)If IsGadget(#Form_SplitterInt)SetGadgetState(#Form_SplitterInt, form_splitter_pos)EndIfEndProcedureProcedure FormPanel_PreferenceSave(*Entry.ToolsPanelEntry)PreferenceComment("")PreferenceGroup("FormPanel")WritePreferenceLong("SplitterPos", form_splitter_pos)EndProcedure;- Initialisation code; This will make this Tool available to the editorCompilerIf Not #SpiderBasicFormPanel_VT.ToolsPanelFunctionsFormPanel_VT\CreateFunction = @FormPanel_CreateFunction()FormPanel_VT\DestroyFunction = @FormPanel_DestroyFunction()FormPanel_VT\ResizeHandler = @FormPanel_ResizeHandler()FormPanel_VT\EventHandler = @FormPanel_EventHandler()FormPanel_VT\PreferenceLoad = @FormPanel_PreferenceLoad()FormPanel_VT\PreferenceSave = @FormPanel_PreferenceSave()AddElement(AvailablePanelTools())AvailablePanelTools()\FunctionsVT = @FormPanel_VTAvailablePanelTools()\NeedPreferences = 1AvailablePanelTools()\NeedConfiguration = 0AvailablePanelTools()\NeedDestroyFunction = 1AvailablePanelTools()\ToolID$ = "Form"AvailablePanelTools()\PanelTitle$ = "FormShort"AvailablePanelTools()\ToolName$ = "FormLong"AvailablePanelTools()\PanelTabOrder = 4CompilerEndIf
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。