⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fnewproject.class

📁 Gambas is a graphical development environment based on a Basic interpreter, like Visual Basic. It us
💻 CLASS
字号:
' Gambas class fileSTATIC PUBLIC $sPath AS StringPRIVATE $hSelectDir AS FSupSelectorPRIVATE $hSelectProject AS FSupSelectorPRIVATE $hWizard AS CWizardPRIVATE $sName AS StringSTATIC PUBLIC FUNCTION Run() AS String  IF FNewProject.ShowModal() THEN RETURN $sPathENDPUBLIC SUB _new()  $hWizard = NEW CWizard(ME, btnPrevious, btnNext, btnOK) AS "Wizard"  Config.LoadWindow(ME, "/FNewProject")  optType_Click''   txtName.SetFocus''   DEC Application.BusyEND' PUBLIC SUB Form_Resize()'' '   btnCancel.Move(ME.ClientW - btnCancel.Width - 8, ME.ClientH - btnCancel.Height - 8)' '   btnOK.Move(btnCancel.X, btnCancel.Y - btnOK.Height - 8)' '' '   txtName.W = ME.ClientW - txtName.X - 8' '   lblHelp1.W = ME.ClientW' '   lblHelp2.W = ME.ClientW''   'imgCorner.Move(ME.ClientW - imgCorner.W, ME.ClientH - imgCorner.H)''   'panLeft.H = ME.ClientH'   panTop.W = ME.ClientW - panTop.X''   'imgGambas.X = panTop.ClientW - imgGambas.W - 8''   btnPrevious.Y = ME.ClientH - btnPrevious.H - 8'   btnNext.Y = btnPrevious.Y'   btnClose.Move(ME.ClientW - btnClose.W - 8, btnPrevious.Y)'   btnOK.Move(btnClose.X - btnOK.Width - 8, btnClose.Y)''   panType.Resize(ME.ClientW - panType.X - 16, ME.ClientH - panType.Y - btnClose.H - 24)'   txtCreate.Resize(panType.W, panType.H - txtCreate.Y)'   txtName.W = panType.W'   TRY $hWizard.Resize''   WITH panType'     IF $hSelectDir THEN $hSelectDir.Move(0, 0, .W, .H + 32)'     IF $hSelectProject THEN $hSelectProject.Move(0, 0, .W, .H)'   END WITH'' ENDPUBLIC SUB btnClose_Click()  ME.CloseENDPUBLIC SUB btnOK_Click()  DIM aOption AS NEW String[]  $sPath = $hSelectDir.Path &/ $sName  IF optCopy.Value THEN    IF Project.CopyProject($hSelectProject.Path, $sPath) THEN RETURN  ELSE    IF Len(Trim(txtTitle.Text)) THEN aOption.Add("Title=" & Trim(txtTitle.Text))    IF optGraphical.Value THEN aOption.Add("Library=gb.qt")    IF chkLocalize.Value THEN aOption.Add("Localize=1")    IF chkCtrlPublic.Value THEN aOption.Add("ControlPublic=1")    IF Project.NewProject($sPath, aOption) THEN RETURN  ENDIF  ME.Close(TRUE)ENDPUBLIC SUB Explorer_Select()  'PRINT "Explorer_Select"ENDPUBLIC SUB btnNext_Click()  DIM sName AS String  DIM sDir AS String  SELECT CASE $hWizard.Tag    CASE 1      txtName.Text = ""    CASE 2      IF NOT $hSelectProject.Validate() THEN RETURN      $sName = File.Name($hSelectProject.Path)      IF Project.CheckProjectName($sName) THEN RETURN    CASE 3      $sName = Trim(txtName.Text)      IF Project.CheckProjectName($sName) THEN RETURN    CASE 4      IF NOT $hSelectDir.Validate() THEN RETURN      sDir = $hSelectDir.Path      IF Project.CheckProjectName($sName, sDir) THEN RETURN  END SELECT  $hWizard.NextENDPUBLIC SUB btnPrevious_Click()  $hWizard.PreviousENDPUBLIC SUB Wizard_Change()  DIM sTitle AS String  DIM iStep AS Integer  DIM iIndex AS Integer  DIM sText AS String  DIM hCtrl AS RadioButton  DIM sOption AS String  iStep = LAST.Tag  iIndex = LAST.Index  SELECT CASE iStep    CASE 0    CASE 1    CASE 2      InitProjectSelector    CASE 3      txtName.SetFocus    CASE 4      InitDirSelector    CASE 5      sText = "<h3>"      FOR EACH hCtrl IN [ optGraphical, optTerminal, optCopy ]        IF hCtrl.Value THEN          sText = sText & hCtrl.Text          BREAK        ENDIF      NEXT      sText = sText & "</h3>"      IF optCopy.Value THEN        sText = sText & "<h4>" & ("Copy from project") & "</h4><p>" & File.Name($hSelectProject.Path) & " (<tt>" & $hSelectProject.Path & "</tt>)"      ELSE        sText = sText & "<h4>" & ("Project name") & "</h4><p>" & txtName.Text      ENDIF      sText = sText & "<h4>" & ("Project directory") & "</h4><p>" & $hSelectDir.Path      sText = sText & "<h4>" & ("Options") & "</h4>"      IF chkLocalize.Value THEN sOption = sOption & "<li>" & chkLocalize.Text      IF chkCtrlPublic.Value THEN sOption = sOption & "<li>" & chkCtrlPublic.Text      IF sOption THEN        sText = sText & "<ul>" & sOption & "</ul>"      ELSE        sText = sText & "<p>" & ("None.")      ENDIF      txtCreate.Text = sText  END SELECTENDPRIVATE SUB InitDirSelector()  IF $hSelectDir THEN RETURN  INC Application.Busy  $hSelectDir = NEW FSupSelector(panDir) 'AS "Explorer"  WITH $hSelectDir    .DialogType = FSupSelector.SHOW_DIRECTORY    'selCreate.Root = System.Home    'selCreate.bPChildSelect = FALSE    '.Path = Project.Config.Read("/NewProject", System.Home)    .Key = "/NewProject"    .NoProjectDir = TRUE    .ShowRootTab = TRUE    .ShowHomeTab = TRUE    '.TreeSequence = "1"    '.ButtonWidth = 0'btnOK.Width    .Init()  END WITH  $hSelectDir.Move(lblDir.X, lblDir.Y, lblDir.W, lblDir.H)  'Form_Resize  DEC Application.BusyENDPRIVATE SUB InitProjectSelector()  IF $hSelectProject THEN RETURN  INC Application.Busy  $hSelectProject = NEW FSupSelector(panProject) 'AS "Explorer"  WITH $hSelectProject    .DialogType = FSupSelector.SHOW_PROJECT    'selCreate.Root = System.Home    'selCreate.bPChildSelect = FALSE    .ShowHomeTab = TRUE    .ShowRootTab = TRUE    .Key = "/CopyProject"    '.ButtonWidth = btnOK.Width    .Init()  END WITH  $hSelectProject.Move(lblProject.X, lblProject.Y, lblProject.W, lblProject.H)  'Form_Resize  DEC Application.BusyENDPUBLIC SUB optType_Click()  'PRINT "optType_Click: "; optCopy.Value  $hWizard.Enable(2, optCopy.Value)  $hWizard.Enable(3, NOT optCopy.Value)  chkCtrlPublic.Enabled = optGraphical.ValueENDPUBLIC SUB Form_Close()  Config.SaveWindow(ME, "/FNewProject")ENDPUBLIC SUB optType_DblClick()  btnNext.Value = TRUEEND

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -