From 84d9c47dee2a6c27e4c8ce467fe618591104977f Mon Sep 17 00:00:00 2001 From: Andrew Haines Date: Mon, 21 Jul 2014 22:00:56 +0100 Subject: new ToggleBox widget Hi I made a Togglebox widget descended from TfpgComboBox. It has button that slides side to side for checked/unchecked with a subtle animation when toggled. Various colors can be changed and the animation disabled. --- examples/gui/togglebox/ToggleBoxTest.lpi | 77 ++++++++++++++++++++++++++++++++ examples/gui/togglebox/ToggleBoxTest.lpr | 30 +++++++++++++ examples/gui/togglebox/mainfrm.pas | 44 ++++++++++++++++++ 3 files changed, 151 insertions(+) create mode 100644 examples/gui/togglebox/ToggleBoxTest.lpi create mode 100644 examples/gui/togglebox/ToggleBoxTest.lpr create mode 100644 examples/gui/togglebox/mainfrm.pas (limited to 'examples/gui/togglebox') diff --git a/examples/gui/togglebox/ToggleBoxTest.lpi b/examples/gui/togglebox/ToggleBoxTest.lpi new file mode 100644 index 00000000..327b4258 --- /dev/null +++ b/examples/gui/togglebox/ToggleBoxTest.lpi @@ -0,0 +1,77 @@ + + + + + + + + + + + + + <UseAppBundle Value="False"/> + <ResourceType Value="res"/> + </General> + <i18n> + <EnableI18N LFM="False"/> + </i18n> + <VersionInfo> + <StringTable ProductVersion=""/> + </VersionInfo> + <BuildModes Count="1"> + <Item1 Name="Default" Default="True"/> + </BuildModes> + <PublishOptions> + <Version Value="2"/> + </PublishOptions> + <RunParams> + <local> + <FormatVersion Value="1"/> + <LaunchingApplication Use="True" PathPlusParams="/usr/bin/gnome-terminal -t 'Lazarus Run Output' -e '$(LazarusDir)/tools/runwait.sh $(TargetCmdLine)'"/> + </local> + </RunParams> + <RequiredPackages Count="1"> + <Item1> + <PackageName Value="fpgui_toolkit"/> + </Item1> + </RequiredPackages> + <Units Count="2"> + <Unit0> + <Filename Value="ToggleBoxTest.lpr"/> + <IsPartOfProject Value="True"/> + </Unit0> + <Unit1> + <Filename Value="mainfrm.pas"/> + <IsPartOfProject Value="True"/> + <UnitName Value="mainfrm"/> + </Unit1> + </Units> + </ProjectOptions> + <CompilerOptions> + <Version Value="11"/> + <Target> + <Filename Value="ToggleBoxTest"/> + </Target> + <SearchPaths> + <IncludeFiles Value="$(ProjOutDir)"/> + <UnitOutputDirectory Value="units/$(TargetCPU)-$(TargetOS)"/> + </SearchPaths> + <Other> + <CompilerPath Value="$(CompPath)"/> + </Other> + </CompilerOptions> + <Debugging> + <Exceptions Count="3"> + <Item1> + <Name Value="EAbort"/> + </Item1> + <Item2> + <Name Value="ECodetoolError"/> + </Item2> + <Item3> + <Name Value="EFOpenError"/> + </Item3> + </Exceptions> + </Debugging> +</CONFIG> diff --git a/examples/gui/togglebox/ToggleBoxTest.lpr b/examples/gui/togglebox/ToggleBoxTest.lpr new file mode 100644 index 00000000..8866f9c5 --- /dev/null +++ b/examples/gui/togglebox/ToggleBoxTest.lpr @@ -0,0 +1,30 @@ +program ToggleBoxTest; + +{$mode objfpc}{$H+} + +uses + {$IFDEF UNIX} + cthreads, + {$ENDIF} + Classes, + fpg_main, + mainfrm; + +procedure MainProc; +var + frmMain: TfrmMain; +begin + fpgApplication.Initialize; + frmMain:= TfrmMain.Create(nil); + try + frmMain.Show; + fpgApplication.Run; + finally + frmMain.Free; + end; +end; + +begin + MainProc; +end. + diff --git a/examples/gui/togglebox/mainfrm.pas b/examples/gui/togglebox/mainfrm.pas new file mode 100644 index 00000000..ff9a43da --- /dev/null +++ b/examples/gui/togglebox/mainfrm.pas @@ -0,0 +1,44 @@ +unit mainfrm; + +{$mode objfpc}{$H+} + +interface + +uses + Classes, SysUtils, fpg_base, fpg_form, fpg_toggle; + +type + + { TfrmMain } + + TfrmMain = class(TfpgForm) + private + FToggle: TfpgToggle; + public + constructor Create(AOwner: TComponent); override; + end; + + +implementation + +{ TfrmMain } + +constructor TfrmMain.Create(AOwner: TComponent); +begin + inherited Create(AOwner); + WindowTitle:='Yay a toggle!'; + SetWidth(300); + SetHeight(200); + + FToggle := TfpgToggle.Create(Self); + FToggle.SetPosition(10, 10, 200, 20); +// FToggle.Width:=200; + + //FToggle.ToggleSide:=tsLeft; + //FToggle.ToggleWidth:=100; + //FToggle.UseAnimation:=False; + +end; + +end. + -- cgit v1.2.3-70-g09d2