Selaa lähdekoodia

demo: started custom slider demo

mattias 1 vuosi sitten
vanhempi
commit
c585ac8369

+ 1 - 0
demo/Slider/.gitignore

@@ -0,0 +1 @@
+CustomSlider

BIN
demo/Slider/CustomSlider.ico


+ 78 - 0
demo/Slider/CustomSlider.lpi

@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<CONFIG>
+  <ProjectOptions>
+    <Version Value="12"/>
+    <General>
+      <SessionStorage Value="InProjectDir"/>
+      <Title Value="CustomSlider"/>
+      <Scaled Value="True"/>
+      <ResourceType Value="res"/>
+      <UseXPManifest Value="True"/>
+      <Icon Value="0"/>
+    </General>
+    <BuildModes>
+      <Item Name="Default" Default="True"/>
+    </BuildModes>
+    <PublishOptions>
+      <Version Value="2"/>
+      <UseFileFilters Value="True"/>
+    </PublishOptions>
+    <RunParams>
+      <FormatVersion Value="2"/>
+    </RunParams>
+    <RequiredPackages>
+      <Item>
+        <PackageName Value="FresnelDsgn"/>
+      </Item>
+      <Item>
+        <PackageName Value="FresnelBase"/>
+      </Item>
+      <Item>
+        <PackageName Value="Fresnel"/>
+      </Item>
+    </RequiredPackages>
+    <Units>
+      <Unit>
+        <Filename Value="CustomSlider.lpr"/>
+        <IsPartOfProject Value="True"/>
+      </Unit>
+      <Unit>
+        <Filename Value="MainUnit.pas"/>
+        <IsPartOfProject Value="True"/>
+        <ComponentName Value="FresnelSliderForm"/>
+        <ResourceBaseClass Value="Other"/>
+        <ResourceBaseClassname Value="TFresnelForm"/>
+      </Unit>
+    </Units>
+  </ProjectOptions>
+  <CompilerOptions>
+    <Version Value="11"/>
+    <Target>
+      <Filename Value="CustomSlider"/>
+    </Target>
+    <SearchPaths>
+      <IncludeFiles Value="$(ProjOutDir)"/>
+      <UnitOutputDirectory Value="lib/$(TargetCPU)-$(TargetOS)"/>
+    </SearchPaths>
+    <Linking>
+      <Options>
+        <Win32>
+          <GraphicApplication Value="True"/>
+        </Win32>
+      </Options>
+    </Linking>
+  </CompilerOptions>
+  <Debugging>
+    <Exceptions>
+      <Item>
+        <Name Value="EAbort"/>
+      </Item>
+      <Item>
+        <Name Value="ECodetoolError"/>
+      </Item>
+      <Item>
+        <Name Value="EFOpenError"/>
+      </Item>
+    </Exceptions>
+  </Debugging>
+</CONFIG>

+ 23 - 0
demo/Slider/CustomSlider.lpr

@@ -0,0 +1,23 @@
+program CustomSlider;
+
+{$mode objfpc}{$H+}
+
+uses
+  {$IFDEF UNIX}
+  cthreads,
+  {$ENDIF}
+  {$IFDEF HASAMIGA}
+  athreads,
+  {$ENDIF}
+  Fresnel, // this includes the Fresnel widgetset
+  Fresnel.Forms, MainUnit
+  { you can add units after this };
+
+{$R *.res}
+
+begin
+  Application.Initialize;
+  Application.CreateForm(TFresnelSliderForm, FresnelSliderForm);
+  Application.Run;
+end.
+

BIN
demo/Slider/CustomSlider.res


+ 42 - 0
demo/Slider/MainUnit.lfm

@@ -0,0 +1,42 @@
+object FresnelSliderForm: TFresnelSliderForm
+  Caption = 'Fresnel Slider'
+  FormLeft = 301
+  FormTop = 206
+  FormWidth = 320
+  FormHeight = 240
+  OnCreate = FresnelSliderFormCreate
+  object Div1: TDiv
+    object SliderDiv: TDiv
+      CSSClasses.Strings = (
+        'Slider'
+      )
+      object SliderRangeDiv: TDiv
+        CSSClasses.Strings = (
+          'SliderRange'
+        )
+      end
+      object SliderPointDiv: TDiv
+        CSSClasses.Strings = (
+          'SliderPoint'
+        )
+      end
+    end
+    object CaptionDiv: TDiv
+      CSSClasses.Strings = (
+        'SliderCaptionDiv'
+      )
+      object CaptionLabel: TLabel
+        CSSClasses.Strings = (
+          'SliderLabel'
+        )
+        Caption = 'Caption'
+      end
+      object ValueLabel: TLabel
+        CSSClasses.Strings = (
+          'SliderValue'
+        )
+        Caption = 'Value'
+      end
+    end
+  end
+end

+ 88 - 0
demo/Slider/MainUnit.pas

@@ -0,0 +1,88 @@
+unit MainUnit;
+
+{$mode objfpc}{$H+}
+
+interface
+
+uses
+  Classes, SysUtils, Fresnel.Forms, Fresnel.DOM, Fresnel.Controls;
+
+type
+
+  { TFresnelSliderForm }
+
+  TFresnelSliderForm = class(TFresnelForm)
+    CaptionDiv: TDiv;
+    Div1: TDiv;
+    CaptionLabel: TLabel;
+    SliderDiv: TDiv;
+    SliderPointDiv: TDiv;
+    SliderRangeDiv: TDiv;
+    ValueLabel: TLabel;
+    procedure FresnelSliderFormCreate(Sender: TObject);
+  private
+  public
+  end;
+
+var
+  FresnelSliderForm: TFresnelSliderForm;
+
+implementation
+
+{$R *.lfm}
+
+{ TFresnelSliderForm }
+
+procedure TFresnelSliderForm.FresnelSliderFormCreate(Sender: TObject);
+begin
+  Stylesheet.Text:=
+    '.SliderCaptionDiv {'
+    +'  margin-bottom: 4px;'
+    +'  font-size: 12px;'
+    +'  width: 100%;'
+    +'}'
+    +'.SliderLabel {'
+    +'}'
+    +'.SliderValue {'
+    +'  margin-left: 5px;'
+    +'  font-size: 13px;'
+    +'  font-weight: 700;'
+    +'  color: #f663020;'
+    +'}'
+    +'.Slider {'
+    +'  display: none;' // testing
+    +'  margin: 15px 0 5px;'
+    +'  border: 1px solid #5080e0;'
+    +'  background-color: #b6d6f0;'
+    +'  height: 9px;'
+    +'  border-radius: 6px;'
+    +'  width: 100%;'
+    +'}'
+    +'.SliderRange {'
+    +'  display: block;'
+    +'  position: absolute;'
+    +'  z-index: 1;'
+    +'  font-size: .7em;'
+    +'  border: 0;'
+    +'  background-color: #5ca0cc;'
+    +'  top: 0;'
+    +'  height: 100%;'
+    +'}'
+    +'.SliderPoint {'
+    +'  position: absolute;'
+    +'  z-index: 2;'
+    +'  width: 15px;'
+    +'  height: 15px;'
+    +'  border: 1px solid #385590;'
+    +'  background-color: #fff;'
+    +'  border-radius: 50%;'
+    +'  cursor: pointer;'
+    +'  top: -.3em;'
+    +'  margin-left: -.6em;'
+    +'}'
+    ;
+  Div1.Style:='Width: 150px';
+end;
+
+end.
+