diff --git a/app/examples/Drawing/Fractal/.project b/app/examples/Drawing/Fractal/.project index 34e3dffaf..75fd451b7 100644 --- a/app/examples/Drawing/Fractal/.project +++ b/app/examples/Drawing/Fractal/.project @@ -1,16 +1,19 @@ # Gambas Project File 3.0 -# Compiled with Gambas 3.6.0 +# Compiled with Gambas 3.6.90 Title=Fractal Startup=FFractal Icon=icon.png -Version=3.6.2 +Version=3.6.90 VersionFile=1 Component=gb.image Component=gb.gui Component=gb.form -Description="Mandelbrot Fractal with Just-In-Time compilation" +Description="Mandelbrot Fractal with Just-In-Time compilation.\n\nThis example allows to freely zoom into the Mandelbrot fractal in real-time. You can toggle just-in-time compilation by hitting the \"F\" key." Authors="Benoît Minisini" TabSize=2 Translate=1 Language=en +Vendor=Example Packager=1 +Tags=JustInTime +Screenshot=/home/benoit/fractal.jpg diff --git a/app/examples/Drawing/Painting/.project b/app/examples/Drawing/Painting/.project index 4bacb3157..57fa134ba 100644 --- a/app/examples/Drawing/Painting/.project +++ b/app/examples/Drawing/Painting/.project @@ -1,17 +1,18 @@ # Gambas Project File 3.0 -# Compiled with Gambas 3.5.90 +# Compiled with Gambas 3.6.90 Title=Anti-Aliased Drawing Startup=FMain Icon=icon.png -Version=3.6.2 +Version=3.6.90 VersionFile=1 Component=gb.image Component=gb.gui Component=gb.form -Description="Anti-aliased drawing with the Paint class" +Description="Anti-aliased drawing with the Paint class.\n\nThis example shows the different methods of the Paint class." Authors="Fabien Bodard\nBenoît Minisini" -Environment="GB_GUI=gb.gtk3" TabSize=2 Translate=1 Language=en +Vendor=Example Packager=1 +Screenshot=/home/benoit/Painting.jpg diff --git a/app/examples/Drawing/Painting/.startup b/app/examples/Drawing/Painting/.startup index 131157c2c..d74d299b1 100644 --- a/app/examples/Drawing/Painting/.startup +++ b/app/examples/Drawing/Painting/.startup @@ -2,7 +2,7 @@ FMain Anti-Aliased Drawing 0 0 -3.5.90 +3.6.90 gb.image gb.gui diff --git a/app/examples/Drawing/QuasiRegular/.project b/app/examples/Drawing/QuasiRegular/.project index 264f00c3d..7fd985125 100644 --- a/app/examples/Drawing/QuasiRegular/.project +++ b/app/examples/Drawing/QuasiRegular/.project @@ -1,13 +1,15 @@ # Gambas Project File 3.0 -# Compiled with Gambas 3.5.90 +# Compiled with Gambas 3.6.90 Title=QuasiRegular Startup=FMain Icon=icon.png -Version=3.6.2 +Version=3.6.90 VersionFile=1 Component=gb.image Component=gb.gui Component=gb.form -Description="An example of a quasi-regular pattern." +Description="An example of a quasi-regular pattern.\n\nThe drawing is the result of an exclusive-or between a black & white chess pattern and the same pattern rotated by 90°." TabSize=2 +Vendor=Example Packager=1 +Screenshot=/home/benoit/QuasiRegular.jpg diff --git a/app/examples/Drawing/QuasiRegular/.startup b/app/examples/Drawing/QuasiRegular/.startup index 37589fc05..aedf68a0c 100644 --- a/app/examples/Drawing/QuasiRegular/.startup +++ b/app/examples/Drawing/QuasiRegular/.startup @@ -2,7 +2,7 @@ FMain QuasiRegular 0 0 -3.5.90 +3.6.90 gb.image gb.gui diff --git a/app/examples/Games/GNUBoxWorld/.icon.png b/app/examples/Games/GNUBoxWorld/.icon.png index e9bbb010e..91123b14c 100644 Binary files a/app/examples/Games/GNUBoxWorld/.icon.png and b/app/examples/Games/GNUBoxWorld/.icon.png differ diff --git a/app/examples/Games/GNUBoxWorld/.project b/app/examples/Games/GNUBoxWorld/.project index 6b1373646..056a32dc3 100644 --- a/app/examples/Games/GNUBoxWorld/.project +++ b/app/examples/Games/GNUBoxWorld/.project @@ -2,7 +2,7 @@ # Compiled with Gambas 3.6.90 Title=GNUBoxWorld Startup=FMain -Icon=logo.png +Icon=icon.png Version=3.6.90 VersionFile=1 Component=gb.image diff --git a/app/examples/Games/GNUBoxWorld/.src/FMain.class b/app/examples/Games/GNUBoxWorld/.src/FMain.class index 31f15d1ef..62896ebd2 100644 --- a/app/examples/Games/GNUBoxWorld/.src/FMain.class +++ b/app/examples/Games/GNUBoxWorld/.src/FMain.class @@ -180,7 +180,7 @@ Private Function WhoMove(direction As Integer) As Picture End Public Sub ShowGameBoard() - Dim control As Object + Dim row As Integer Dim col As Integer For row = 0 To 9 @@ -188,6 +188,7 @@ Public Sub ShowGameBoard() PicturesBoxes[row, col].Picture = Game.Cells[row, col].Pic Next Next + End Public Sub MakePictureBoxes() diff --git a/app/examples/Games/GNUBoxWorld/.src/FMain.form b/app/examples/Games/GNUBoxWorld/.src/FMain.form index d3c231da5..4b64be774 100644 --- a/app/examples/Games/GNUBoxWorld/.src/FMain.form +++ b/app/examples/Games/GNUBoxWorld/.src/FMain.form @@ -2,7 +2,7 @@ { Form Form MoveScaled(0,0,42,16) - Icon = Picture["logo.png"] + Icon = Picture["icon.png"] Resizable = False { MnuGame Menu Text = ("Game") diff --git a/app/examples/Games/GNUBoxWorld/icon.png b/app/examples/Games/GNUBoxWorld/icon.png new file mode 100644 index 000000000..eb5381d41 Binary files /dev/null and b/app/examples/Games/GNUBoxWorld/icon.png differ diff --git a/app/examples/Networking/ClientSocket/.project b/app/examples/Networking/ClientSocket/.project index ca64186b3..ee718be16 100644 --- a/app/examples/Networking/ClientSocket/.project +++ b/app/examples/Networking/ClientSocket/.project @@ -1,20 +1,21 @@ # Gambas Project File 3.0 -# Compiled with Gambas 3.5.90 +# Compiled with Gambas 3.6.90 Title=Client Socket Example Startup=FrmMain Icon=socket.png -Version=3.6.2 +Version=3.6.90 VersionFile=1 Component=gb.image Component=gb.gui Component=gb.net +Description="Client socket example.\n\nThis example shows how to use a socket to connect to a server. You should use the \"ServerSocket\" example as a testing peer." Authors="Daniel Campos Fernández\nBenoît Minisini" -Environment="GB_GUI=gb.gtk" TabSize=2 Translate=1 Language=fr Maintainer=benoit -Vendor=Princeton +Vendor=Example Address=benoit@desnouettes License=General Public Licence Packager=1 +Tags=Network diff --git a/app/examples/Networking/ServerSocket/.project b/app/examples/Networking/ServerSocket/.project index e3df95d19..93bb534f1 100644 --- a/app/examples/Networking/ServerSocket/.project +++ b/app/examples/Networking/ServerSocket/.project @@ -1,20 +1,22 @@ # Gambas Project File 3.0 -# Compiled with Gambas 3.5.90 +# Compiled with Gambas 3.6.90 Title=Server socket example Startup=FrmMain Icon=serversocket.png -Version=3.6.2 +Version=3.6.90 VersionFile=1 Component=gb.image Component=gb.gui Component=gb.net Component=gb.net.curl +Description="Server socket example.\n\nThis example shows how to implement a TCP server accepting and managing multiple connections in the same process. You can use the 'ClientSocket' example as a testing peer." Environment="GB_GUI=gb.qt4" TabSize=2 Translate=1 Language=fr Maintainer=benoit -Vendor=Princeton +Vendor=Example Address=benoit@desnouettes License=General Public Licence Packager=1 +Tags=Network diff --git a/app/src/gambas3/.src/Packager/FMakeInstall.form b/app/src/gambas3/.src/Packager/FMakeInstall.form index e7a732aa3..8204d770e 100644 --- a/app/src/gambas3/.src/Packager/FMakeInstall.form +++ b/app/src/gambas3/.src/Packager/FMakeInstall.form @@ -14,6 +14,7 @@ TextFont = Font["Bold,+3"] ShowIndex = True Border = False + Animated = True Index = 0 Text = ("Package information") { TextLabel1 TextLabel diff --git a/app/src/gambas3/.src/Project/FCreateProject.form b/app/src/gambas3/.src/Project/FCreateProject.form index 489928024..5a92acf21 100644 --- a/app/src/gambas3/.src/Project/FCreateProject.form +++ b/app/src/gambas3/.src/Project/FCreateProject.form @@ -15,6 +15,7 @@ TextFont = Font["Bold,+3"] ShowIndex = True Border = False + Animated = True Index = 0 Text = ("Project type") { HBox5 HBox diff --git a/app/src/gambas3/.src/Project/Farm/FPublish.form b/app/src/gambas3/.src/Project/Farm/FPublish.form index 52b0387e7..abf3c9ca7 100644 --- a/app/src/gambas3/.src/Project/Farm/FPublish.form +++ b/app/src/gambas3/.src/Project/Farm/FPublish.form @@ -16,6 +16,7 @@ Border = False ActionText = "Publish" ActionPicture = Picture["icon:/small/internet"] + Animated = True Index = 0 Text = ("Information") { HBox9 HBox diff --git a/app/src/gambas3/.src/Project/Farm/FSoftwareFarm.class b/app/src/gambas3/.src/Project/Farm/FSoftwareFarm.class index a97619f49..f5e6fa58f 100644 --- a/app/src/gambas3/.src/Project/Farm/FSoftwareFarm.class +++ b/app/src/gambas3/.src/Project/Farm/FSoftwareFarm.class @@ -300,7 +300,8 @@ Private Sub UpdateSoftware() Else - txtDescription.Text = Replace(Html(sText), "\n", "
") + txtDescription.Text = sText + txtDescription.H = txtDescription.Font.RichTextHeight(Replace(Html(sText), "\n", "
"), txtDescription.W) Endif diff --git a/app/src/gambas3/.src/Project/Farm/FSoftwareFarm.form b/app/src/gambas3/.src/Project/Farm/FSoftwareFarm.form index f1fab1d90..5b0936efb 100644 --- a/app/src/gambas3/.src/Project/Farm/FSoftwareFarm.form +++ b/app/src/gambas3/.src/Project/Farm/FSoftwareFarm.form @@ -98,9 +98,12 @@ Font = Font["Bold"] Text = ("Description") } - { txtDescription TextLabel - MoveScaled(2,4,35,5) - AutoResize = True + { txtDescription TextArea + MoveScaled(2,5,29,4) + ReadOnly = True + Wrap = True + Border = False + ScrollBar = Scroll.None } { panURL HBox MoveScaled(2,10,29,4) diff --git a/app/src/gambas3/.src/Project/Farm/SoftwareBox.class b/app/src/gambas3/.src/Project/Farm/SoftwareBox.class index 846cb7dc6..d3cf7ceaf 100644 --- a/app/src/gambas3/.src/Project/Farm/SoftwareBox.class +++ b/app/src/gambas3/.src/Project/Farm/SoftwareBox.class @@ -154,7 +154,7 @@ Public Sub DrawingArea_Draw() Paint.Stroke Paint.AntiAlias = True - If Not $hSoft Or If $hSoft.State < CSoftware.STATE_READY Then Return + If Not $hSoft Then Return If $hSoft.IsInstalled() Then If $hSoft.CanUpgrade() Then diff --git a/app/src/gambas3/.src/Project/Patch/FMakePatch.form b/app/src/gambas3/.src/Project/Patch/FMakePatch.form index 59677b10e..6d850f469 100644 --- a/app/src/gambas3/.src/Project/Patch/FMakePatch.form +++ b/app/src/gambas3/.src/Project/Patch/FMakePatch.form @@ -16,6 +16,7 @@ TextFont = Font["Bold,+3"] ShowIndex = True Border = False + Animated = True Index = 0 Text = ("Select patch origin") { Panel1 VBox diff --git a/comp/src/gb.form/.info b/comp/src/gb.form/.info index 53d812890..718083bcd 100644 --- a/comp/src/gb.form/.info +++ b/comp/src/gb.form/.info @@ -2977,7 +2977,7 @@ C _Properties C s -*,Count{Range:1;256}=1,Index,Text,TextFont,Picture,ShowTitle=True,ShowIndex=False,Border=True,ActionText,ActionPicture +*,Count{Range:1;256}=1,Index,Text,TextFont,Picture,ShowTitle=True,ShowIndex=False,Border=True,ActionText,ActionPicture,Animated _DefaultEvent C s @@ -3054,6 +3054,10 @@ ActionPicture p Picture +Animated +p +b + _new m diff --git a/comp/src/gb.form/.project b/comp/src/gb.form/.project index c8208b838..2a9df827f 100644 --- a/comp/src/gb.form/.project +++ b/comp/src/gb.form/.project @@ -1,7 +1,7 @@ # Gambas Project File 3.0 # Compiled with Gambas 3.6.90 Title=More controls for graphical components -Startup=Form1 +Startup=FTestWizard Version=3.6.90 VersionFile=1 Component=gb.image diff --git a/comp/src/gb.form/.src/Test/FTestWizard.class b/comp/src/gb.form/.src/Test/FTestWizard.class new file mode 100644 index 000000000..0ec054ab0 --- /dev/null +++ b/comp/src/gb.form/.src/Test/FTestWizard.class @@ -0,0 +1,8 @@ +' Gambas class file + + +Public Sub Wizard1_Cancel() + + Me.Close + +End diff --git a/comp/src/gb.form/.src/Test/FTestWizard.form b/comp/src/gb.form/.src/Test/FTestWizard.form new file mode 100644 index 000000000..11a44a013 --- /dev/null +++ b/comp/src/gb.form/.src/Test/FTestWizard.form @@ -0,0 +1,30 @@ +# Gambas Form File 3.0 + +{ Form Form + MoveScaled(0,0,71,64) + Arrangement = Arrange.Fill + Margin = True + { Wizard1 Wizard + MoveScaled(4,4,64,54) + Count = 4 + Border = False + Animated = True + Index = 0 + Text = ("Étape n°1") + { Button1 Button + MoveScaled(19,22,17,6) + Text = ("Button1") + } + Index = 1 + Text = ("Étape n°2") + { LCDLabel1 LCDLabel + MoveScaled(8,9,44,16) + Text = ("LCDLabel1") + } + Index = 2 + Text = ("Étape n°3") + Index = 3 + Text = ("Étape n°4") + Index = 0 + } +} diff --git a/comp/src/gb.form/.src/Wizard/Wizard.class b/comp/src/gb.form/.src/Wizard/Wizard.class index 7d636921c..11efd93fe 100644 --- a/comp/src/gb.form/.src/Wizard/Wizard.class +++ b/comp/src/gb.form/.src/Wizard/Wizard.class @@ -3,7 +3,7 @@ Export Inherits UserContainer -Public Const _Properties As String = "*,Count{Range:1;256}=1,Index,Text,TextFont,Picture,ShowTitle=True,ShowIndex=False,Border=True,ActionText,ActionPicture" +Public Const _Properties As String = "*,Count{Range:1;256}=1,Index,Text,TextFont,Picture,ShowTitle=True,ShowIndex=False,Border=True,ActionText,ActionPicture,Animated" Public Const _DefaultEvent As String = "Change" Public Const _Similar As String = "TabStrip" Public Const _IsMultiContainer As Boolean = True @@ -25,6 +25,7 @@ Property Border As Boolean Property TextFont As Font Property ActionText As String Property ActionPicture As Picture +Property Animated As Boolean Private $hWizard As FWizard Private $aStep As New _WizardContainer[] @@ -33,6 +34,8 @@ Private $iLast As Integer = -1 Private $bShowIndex As Boolean Private $sActionText As String Private $hActionPicture As Picture +Private $iAllowAnimation As Integer +Private $bAnimated As Boolean Public Sub _new() @@ -114,6 +117,52 @@ Private Function Index_Read() As Integer End +Private Sub DoAnimate(iSrc As Integer, iDest As Integer) + + Dim fTime As Float + Dim hCont As Container + Dim hSrc As _WizardContainer + Dim hDest As _WizardContainer + + hCont = $hWizard.GetContainer() + hSrc = $aStep[iSrc] + hDest = $aStep[iDest] + + hSrc.Show + hDest.Show + hSrc.Ignore = True + hDest.Ignore = True + + If iDest > iSrc Then + + hDest.Move(hCont.W, 0) + + fTime = Timer + While hDest.X > 0 + hDest.X = Max(0, hCont.W * (1 - (Timer - fTime) * 8)) + hSrc.X = hDest.X - hCont.W + Wait + Wend + + Else + + hDest.Move(- hCont.W, 0) + + fTime = Timer + While hDest.X < 0 + hDest.X = Min(0, - hCont.W * (1 - (Timer - fTime) * 8)) + hSrc.X = hDest.X + hCont.W + Wait + Wend + + Endif + + hDest.Raise + hSrc.Ignore = False + hDest.Ignore = False + +End + Private Sub Index_Write(iIndex As Integer) Dim bCancel As Boolean @@ -139,6 +188,8 @@ Private Sub Index_Write(iIndex As Integer) Endif + If $bAnimated And If $iAllowAnimation Then DoAnimate($iCurrent, iIndex) + Me._Container = $aStep[iIndex] $iLast = $iCurrent @@ -239,7 +290,11 @@ End Public Sub Wizard_Previous() Dim iInd As Integer = GetPrevious($iCurrent) - If iInd >= 0 Then Index_Write(iInd) + If iInd >= 0 Then + Inc $iAllowAnimation + Index_Write(iInd) + Dec $iAllowAnimation + Endif End @@ -247,7 +302,9 @@ Public Sub Wizard_Next() Dim iInd As Integer = GetNext($iCurrent) If iInd >= 0 Then + Inc $iAllowAnimation Index_Write(iInd) + Dec $iAllowAnimation Else Raise BeforeChange Raise {Close} @@ -339,3 +396,15 @@ Private Sub ActionPicture_Write(Value As Picture) $hActionPicture = Value End + +Private Function Animated_Read() As Boolean + + Return $bAnimated + +End + +Private Sub Animated_Write(Value As Boolean) + + $bAnimated = Value + +End