[DEVELOPMENT ENVIRONMENT]
* NEW: Create a ProjectChooser control that can be shared between the project open dialog and the patch wizard (for example). git-svn-id: svn://localhost/gambas/trunk@5523 867c0c6c-44f3-4631-809d-bfa615b0a4ec
This commit is contained in:
parent
3ee9d91054
commit
1170daa9d7
6 changed files with 319 additions and 134 deletions
|
@ -540,7 +540,7 @@ msgstr ""
|
|||
#: FFontChooser.form:40 FForm.class:3091 FGotoLine.form:23
|
||||
#: FHelpBrowser.form:61 FIconEditor.class:1373 FList.form:121 FMain.class:209
|
||||
#: FMakeInstall.class:350 FMenu.form:377 FNewConnection.form:255
|
||||
#: FNewTable.form:86 FNewTranslation.form:21 FOpenProject.form:203
|
||||
#: FNewTable.form:86 FNewTranslation.form:21 FOpenProject.form:158
|
||||
#: FOption.class:674 FPasteSpecial.form:77 FPasteTable.form:107
|
||||
#: FProjectProperty.form:687 FProjectVersion.class:201
|
||||
#: FPropertyComponent.form:255 FProxy.form:57 FReportBorderChooser.form:48
|
||||
|
@ -636,7 +636,7 @@ msgstr ""
|
|||
#: FCreateFile.form:443 FFieldChooser.form:132 FFontChooser.form:34
|
||||
#: FGotoLine.form:17 FInfo.form:172 FList.form:115 FMain.class:1798
|
||||
#: FMakeInstall.class:299 FMenu.form:372 FNewConnection.form:249
|
||||
#: FNewTable.form:80 FNewTranslation.form:15 FOpenProject.form:197
|
||||
#: FNewTable.form:80 FNewTranslation.form:15 FOpenProject.form:152
|
||||
#: FPasteSpecial.form:71 FProjectProperty.form:681 FPropertyComponent.form:249
|
||||
#: FProxy.form:63 FReportBorderChooser.form:54 FReportBrushChooser.form:40
|
||||
#: FReportCoordChooser.form:32 FReportPaddingChooser.form:69
|
||||
|
@ -700,7 +700,7 @@ msgstr ""
|
|||
msgid "Free"
|
||||
msgstr ""
|
||||
|
||||
#: FConflict.form:47 FOpenProject.form:46
|
||||
#: FConflict.form:47 FOpenProject.form:40
|
||||
msgid "Open"
|
||||
msgstr ""
|
||||
|
||||
|
@ -1270,7 +1270,7 @@ msgstr ""
|
|||
msgid "The project title is the true name of the application."
|
||||
msgstr ""
|
||||
|
||||
#: FCreateProject.form:426 FOpenProject.form:192
|
||||
#: FCreateProject.form:426 FOpenProject.form:147
|
||||
msgid "Open in another window"
|
||||
msgstr ""
|
||||
|
||||
|
@ -2756,15 +2756,15 @@ msgstr ""
|
|||
msgid "Sort history"
|
||||
msgstr ""
|
||||
|
||||
#: FMain.class:594 FOpenProject.form:116 FWelcome.form:42
|
||||
#: FMain.class:594 FOpenProject.form:71 FWelcome.form:42
|
||||
msgid "Sort by date"
|
||||
msgstr ""
|
||||
|
||||
#: FMain.class:594 FOpenProject.form:125 FWelcome.form:49
|
||||
#: FMain.class:594 FOpenProject.form:80 FWelcome.form:49
|
||||
msgid "Sort by name"
|
||||
msgstr ""
|
||||
|
||||
#: FMain.class:594 FOpenProject.form:133 FWelcome.form:55
|
||||
#: FMain.class:594 FOpenProject.form:88 FWelcome.form:55
|
||||
msgid "Sort by path"
|
||||
msgstr ""
|
||||
|
||||
|
@ -3115,10 +3115,14 @@ msgstr ""
|
|||
msgid "You must select an old version."
|
||||
msgstr ""
|
||||
|
||||
#: FMakePatch.class:30 Patch.class:28
|
||||
#: FMakePatch.class:29 Patch.class:36
|
||||
msgid "Not a valid Gambas project"
|
||||
msgstr ""
|
||||
|
||||
#: FMakePatch.class:45
|
||||
msgid "Patch written."
|
||||
msgstr ""
|
||||
|
||||
#: FMenu.form:80
|
||||
msgid "Insert menu"
|
||||
msgstr ""
|
||||
|
@ -3243,15 +3247,15 @@ msgstr ""
|
|||
msgid "New translation"
|
||||
msgstr ""
|
||||
|
||||
#: FOpenProject.form:33
|
||||
#: FOpenProject.form:27
|
||||
msgid "Select a project"
|
||||
msgstr ""
|
||||
|
||||
#: FOpenProject.form:92
|
||||
#: FOpenProject.form:47
|
||||
msgid "Recent"
|
||||
msgstr ""
|
||||
|
||||
#: FOpenProject.form:148 FWelcome.class:56
|
||||
#: FOpenProject.form:103 FWelcome.class:56
|
||||
msgid "Examples"
|
||||
msgstr ""
|
||||
|
||||
|
@ -5984,11 +5988,11 @@ msgstr ""
|
|||
msgid "'tar' has returned the following error code:"
|
||||
msgstr ""
|
||||
|
||||
#: Patch.class:42
|
||||
#: Patch.class:50
|
||||
msgid "Unsupported source file type"
|
||||
msgstr ""
|
||||
|
||||
#: Patch.class:187
|
||||
#: Patch.class:196
|
||||
msgid "Patch didn't apply:\n"
|
||||
msgstr ""
|
||||
|
||||
|
|
|
@ -0,0 +1,126 @@
|
|||
' Gambas class file
|
||||
|
||||
Private $hProjectItem As ProjectItem
|
||||
Private $sLast As String
|
||||
|
||||
Public Sub _new()
|
||||
|
||||
$hProjectItem = New ProjectItem(panProjectTitle)
|
||||
$hProjectItem.Highlight = False
|
||||
panProject.Reparent(dchProject.FileView.Parent)
|
||||
|
||||
End
|
||||
|
||||
Public Sub Form_Open()
|
||||
|
||||
$sLast = ""
|
||||
dchProject.ShowFile = True
|
||||
dchProject_Change
|
||||
'tabProject_Click
|
||||
|
||||
End
|
||||
|
||||
|
||||
Public Sub GetSettings() As Variant[]
|
||||
|
||||
Return [dchProject.Settings, splProject.Settings]
|
||||
|
||||
End
|
||||
|
||||
Public Sub SetSettings(Value As Variant[])
|
||||
|
||||
Try dchProject.Settings = Value[0]
|
||||
Try splProject.Settings = Value[1]
|
||||
|
||||
End
|
||||
|
||||
Public Sub dchProject_Icon(Path As String)
|
||||
|
||||
If Exist(Path &/ ".project") Then
|
||||
dchProject.Icon = Project.GetIcon(Path)
|
||||
Endif
|
||||
|
||||
End
|
||||
|
||||
Private Sub GetProjectPath(sPath As String) As String
|
||||
|
||||
Do
|
||||
If Exist(sPath &/ ".project") Then Return sPath
|
||||
sPath = File.Dir(sPath)
|
||||
If sPath = "/" Then Break
|
||||
Loop
|
||||
|
||||
Catch
|
||||
|
||||
End
|
||||
|
||||
|
||||
Public Sub dchProject_Change()
|
||||
|
||||
Dim sPath As String
|
||||
Dim hProjectTree As CProjectTree
|
||||
|
||||
sPath = GetProjectPath(dchProject.Value)
|
||||
|
||||
If Not sPath Then
|
||||
$sLast = ""
|
||||
panProject.Hide
|
||||
dchProject.FileView.Show
|
||||
Return
|
||||
Endif
|
||||
|
||||
If sPath = $sLast Then Return
|
||||
|
||||
$sLast = sPath
|
||||
|
||||
$hProjectItem.Path = sPath
|
||||
hProjectTree = New CProjectTree(tvwProject, sPath)
|
||||
|
||||
panProject.Show
|
||||
dchProject.FileView.Hide
|
||||
|
||||
splProject_Resize
|
||||
|
||||
End
|
||||
|
||||
Private Sub GetParent() As ProjectChooser
|
||||
|
||||
Return Me.Parent
|
||||
|
||||
End
|
||||
|
||||
Public Sub dchProject_Activate()
|
||||
|
||||
GetParent()._RaiseActivate
|
||||
|
||||
End
|
||||
|
||||
Public Sub splProject_Resize()
|
||||
|
||||
panProjectTitle.H = $hProjectItem.IdealHeight + panProjectTitle.Padding * 2
|
||||
|
||||
End
|
||||
|
||||
Public Sub GetPath() As String
|
||||
|
||||
Return GetProjectPath(dchProject.Value)
|
||||
|
||||
End
|
||||
|
||||
Public Sub SetPath(sPath As String)
|
||||
|
||||
dchProject.Value = sPath
|
||||
|
||||
End
|
||||
|
||||
Public Sub GetBorder() As Boolean
|
||||
|
||||
Return dchProject.Border
|
||||
|
||||
End
|
||||
|
||||
Public Sub SetBorder(Value As Boolean)
|
||||
|
||||
dchProject.Border = Value
|
||||
|
||||
End
|
|
@ -0,0 +1,41 @@
|
|||
# Gambas Form File 3.0
|
||||
|
||||
{ Form Form
|
||||
MoveScaled(0,0,99,64)
|
||||
Arrangement = Arrange.Fill
|
||||
{ splProject HSplit
|
||||
MoveScaled(1,1,93,61)
|
||||
{ dchProject DirChooser
|
||||
MoveScaled(1,2,62,58)
|
||||
Expand = True
|
||||
Border = False
|
||||
ShowFile = True
|
||||
ShowSplitter = False
|
||||
}
|
||||
{ Panel2 Panel
|
||||
MoveScaled(64,2,28,56)
|
||||
Visible = False
|
||||
Arrangement = Arrange.Fill
|
||||
{ panProject Panel
|
||||
MoveScaled(1,1,26,53)
|
||||
Arrangement = Arrange.Vertical
|
||||
{ panProjectTitle Panel
|
||||
MoveScaled(1,1,20,9)
|
||||
Background = Color.TextBackground
|
||||
Arrangement = Arrange.Fill
|
||||
Padding = 2
|
||||
}
|
||||
{ Separator1 Separator
|
||||
MoveScaled(1,11,12,0)
|
||||
Background = Color.TextBackground
|
||||
}
|
||||
{ tvwProject TreeView
|
||||
MoveScaled(2,13,22,37)
|
||||
Expand = True
|
||||
Mode = Select.None
|
||||
Border = False
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,66 @@
|
|||
' Gambas class file
|
||||
|
||||
Export
|
||||
|
||||
Inherits UserControl
|
||||
|
||||
Public Const _Properties As String = "*,Border"
|
||||
Public Const _DefaultEvent As String = "Activate"
|
||||
Public Const _DefaultSize As String = "36,36"
|
||||
Public Const _Group As String = "Chooser"
|
||||
|
||||
Event Activate
|
||||
|
||||
Property Settings As Variant[]
|
||||
Property Path As String
|
||||
Property Border As Boolean
|
||||
|
||||
Private $hForm As FProjectChooser
|
||||
|
||||
Public Sub _new()
|
||||
|
||||
$hForm = New FProjectChooser(Me)
|
||||
|
||||
End
|
||||
|
||||
Private Function Settings_Read() As Variant[]
|
||||
|
||||
Return $hForm.GetSettings()
|
||||
|
||||
End
|
||||
|
||||
Private Sub Settings_Write(Value As Variant[])
|
||||
|
||||
$hForm.SetSettings(Value)
|
||||
|
||||
End
|
||||
|
||||
Public Sub _RaiseActivate()
|
||||
|
||||
Raise Activate
|
||||
|
||||
End
|
||||
|
||||
Private Function Path_Read() As String
|
||||
|
||||
Return $hForm.GetPath()
|
||||
|
||||
End
|
||||
|
||||
Private Sub Path_Write(Value As String)
|
||||
|
||||
$hForm.SetPath(Value)
|
||||
|
||||
End
|
||||
|
||||
Private Function Border_Read() As Boolean
|
||||
|
||||
Return $hForm.GetBorder()
|
||||
|
||||
End
|
||||
|
||||
Private Sub Border_Write(Value As Boolean)
|
||||
|
||||
$hForm.SetBorder(Value)
|
||||
|
||||
End
|
|
@ -1,31 +1,10 @@
|
|||
' Gambas class file
|
||||
|
||||
'
|
||||
' Copyright (C) Benoît Minisini
|
||||
'
|
||||
' This program is free software; you can redistribute it and/or modify
|
||||
' it under the terms of the GNU General Public License as published by
|
||||
' the Free Software Foundation; either version 2 of the License, or
|
||||
' (at your option) any later version.
|
||||
'
|
||||
' This program is distributed in the hope that it will be useful,
|
||||
' but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
' MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
' GNU General Public License for more details.
|
||||
'
|
||||
' You should have received a copy of the GNU General Public License
|
||||
' along with this program; if not, write to the Free Software
|
||||
' Foundation, Inc., 51 Franklin St, Fifth Floor,
|
||||
' Boston, MA 02110-1301 USA
|
||||
'
|
||||
|
||||
Static Private $sPath As String
|
||||
Static Private $sLast As String
|
||||
Static Private $bAnother As Boolean
|
||||
|
||||
Static Public InAnotherWindow As Boolean
|
||||
|
||||
Private $hProjectItem As ProjectItem
|
||||
Private $iSort As Integer
|
||||
|
||||
Public Sub Run(Optional bAnother As Boolean) As String
|
||||
|
@ -43,9 +22,9 @@ End
|
|||
|
||||
Public Sub _new()
|
||||
|
||||
$hProjectItem = New ProjectItem(panProjectTitle)
|
||||
$hProjectItem.Highlight = False
|
||||
panProject.Reparent(dchProject.FileView.Parent)
|
||||
' $hProjectItem = New ProjectItem(panProjectTitle)
|
||||
' $hProjectItem.Highlight = False
|
||||
' panProject.Reparent(dchProject.FileView.Parent)
|
||||
|
||||
End
|
||||
|
||||
|
@ -56,7 +35,7 @@ Public Sub btnOK_Click()
|
|||
Dim hProjectItem As ProjectItem
|
||||
|
||||
If tabProject.Index = 0 Then
|
||||
sPath = GetProjectPath(dchProject.Value)
|
||||
sPath = pchProject.Path
|
||||
Else If tabProject.Index = 1 Then
|
||||
hProjectItem = lstRecent.Current
|
||||
Try sPath = hProjectItem.Path
|
||||
|
@ -87,13 +66,14 @@ Public Sub Form_Open()
|
|||
|
||||
Dim hCtrl As RadioButton
|
||||
|
||||
$sLast = ""
|
||||
'$sLast = ""
|
||||
Settings.Read(Me)
|
||||
Settings.Read(dchProject)
|
||||
Settings.Read(splProject)
|
||||
dchProject.ShowFile = True
|
||||
'dchProject.Value = Settings["/FOpenProject/Path"]
|
||||
dchProject_Change
|
||||
Settings.Read(pchProject)
|
||||
' Settings.Read(dchProject)
|
||||
' Settings.Read(splProject)
|
||||
' dchProject.ShowFile = True
|
||||
' 'dchProject.Value = Settings["/FOpenProject/Path"]
|
||||
' dchProject_Change
|
||||
tabProject_Click
|
||||
|
||||
InAnotherWindow = False
|
||||
|
@ -113,59 +93,60 @@ Public Sub Form_Close()
|
|||
|
||||
Settings["/FOpenProject/SortRecent"] = $iSort
|
||||
Settings.Write(Me)
|
||||
Settings.Write(splProject)
|
||||
Settings.Write(dchProject)
|
||||
' Settings.Write(splProject)
|
||||
' Settings.Write(dchProject)
|
||||
Settings.Write(pchProject)
|
||||
|
||||
End
|
||||
|
||||
Public Sub dchProject_Icon(Path As String)
|
||||
|
||||
If Exist(Path &/ ".project") Then
|
||||
dchProject.Icon = Project.GetIcon(Path)
|
||||
Endif
|
||||
|
||||
End
|
||||
|
||||
Private Sub GetProjectPath(sPath As String) As String
|
||||
|
||||
Do
|
||||
If Exist(sPath &/ ".project") Then Return sPath
|
||||
sPath = File.Dir(sPath)
|
||||
If sPath = "/" Then Break
|
||||
Loop
|
||||
|
||||
Catch
|
||||
|
||||
End
|
||||
|
||||
|
||||
Public Sub dchProject_Change()
|
||||
|
||||
Dim sPath As String
|
||||
Dim hProjectTree As CProjectTree
|
||||
|
||||
sPath = GetProjectPath(dchProject.Value)
|
||||
|
||||
If Not sPath Then
|
||||
$sLast = ""
|
||||
panProject.Hide
|
||||
dchProject.FileView.Show
|
||||
Return
|
||||
Endif
|
||||
|
||||
If sPath = $sLast Then Return
|
||||
|
||||
$sLast = sPath
|
||||
|
||||
$hProjectItem.Path = sPath
|
||||
hProjectTree = New CProjectTree(tvwProject, sPath)
|
||||
|
||||
panProject.Show
|
||||
dchProject.FileView.Hide
|
||||
|
||||
splProject_Resize
|
||||
|
||||
End
|
||||
' Public Sub dchProject_Icon(Path As String)
|
||||
'
|
||||
' If Exist(Path &/ ".project") Then
|
||||
' dchProject.Icon = Project.GetIcon(Path)
|
||||
' Endif
|
||||
'
|
||||
' End
|
||||
'
|
||||
' Private Sub GetProjectPath(sPath As String) As String
|
||||
'
|
||||
' Do
|
||||
' If Exist(sPath &/ ".project") Then Return sPath
|
||||
' sPath = File.Dir(sPath)
|
||||
' If sPath = "/" Then Break
|
||||
' Loop
|
||||
'
|
||||
' Catch
|
||||
'
|
||||
' End
|
||||
'
|
||||
'
|
||||
' Public Sub dchProject_Change()
|
||||
'
|
||||
' Dim sPath As String
|
||||
' Dim hProjectTree As CProjectTree
|
||||
'
|
||||
' sPath = GetProjectPath(dchProject.Value)
|
||||
'
|
||||
' If Not sPath Then
|
||||
' $sLast = ""
|
||||
' panProject.Hide
|
||||
' dchProject.FileView.Show
|
||||
' Return
|
||||
' Endif
|
||||
'
|
||||
' If sPath = $sLast Then Return
|
||||
'
|
||||
' $sLast = sPath
|
||||
'
|
||||
' $hProjectItem.Path = sPath
|
||||
' hProjectTree = New CProjectTree(tvwProject, sPath)
|
||||
'
|
||||
' panProject.Show
|
||||
' dchProject.FileView.Hide
|
||||
'
|
||||
' splProject_Resize
|
||||
'
|
||||
' End
|
||||
|
||||
' Public Sub fvwProject_Activate()
|
||||
'
|
||||
|
@ -408,11 +389,11 @@ Public Sub lstExample_Activate()
|
|||
|
||||
End
|
||||
|
||||
Public Sub splProject_Resize()
|
||||
|
||||
panProjectTitle.H = $hProjectItem.IdealHeight + panProjectTitle.Padding * 2
|
||||
|
||||
End
|
||||
' Public Sub splProject_Resize()
|
||||
'
|
||||
' panProjectTitle.H = $hProjectItem.IdealHeight + panProjectTitle.Padding * 2
|
||||
'
|
||||
' End
|
||||
|
||||
Public Sub btnOther_Click()
|
||||
|
||||
|
|
|
@ -16,41 +16,8 @@
|
|||
Index = 0
|
||||
Text = ("Open")
|
||||
Picture = Picture["icon:/small/open"]
|
||||
{ splProject HSplit
|
||||
MoveScaled(1,1,93,61)
|
||||
Expand = True
|
||||
{ dchProject DirChooser
|
||||
MoveScaled(1,2,62,58)
|
||||
Expand = True
|
||||
Border = False
|
||||
ShowFile = True
|
||||
ShowSplitter = False
|
||||
}
|
||||
{ Panel2 Panel
|
||||
MoveScaled(64,2,28,56)
|
||||
Visible = False
|
||||
Arrangement = Arrange.Fill
|
||||
{ panProject Panel
|
||||
MoveScaled(1,1,26,53)
|
||||
Arrangement = Arrange.Vertical
|
||||
{ panProjectTitle Panel
|
||||
MoveScaled(1,1,20,9)
|
||||
Background = Color.TextBackground
|
||||
Arrangement = Arrange.Fill
|
||||
Padding = 2
|
||||
}
|
||||
{ Separator1 Separator
|
||||
MoveScaled(1,11,12,0)
|
||||
Background = Color.TextBackground
|
||||
}
|
||||
{ tvwProject TreeView
|
||||
MoveScaled(2,13,22,37)
|
||||
Expand = True
|
||||
Mode = Select.None
|
||||
Border = False
|
||||
}
|
||||
}
|
||||
}
|
||||
{ pchProject ProjectChooser
|
||||
MoveScaled(3,4,81,54)
|
||||
}
|
||||
Index = 1
|
||||
Text = ("Recent")
|
||||
|
|
Loading…
Reference in a new issue