Changeset 6


Ignore:
Timestamp:
Sep 19, 2014, 7:12:01 AM (10 years ago)
Author:
chronos
Message:
  • Added: Prepared more menu actions.
Location:
trunk
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • trunk/Forms/UFormMain.lfm

    r5 r6  
    11object FormMain: TFormMain
    2   Left = 514
     2  Left = 664
    33  Height = 640
    4   Top = 299
     4  Top = 443
    55  Width = 920
    66  Caption = 'LibrePaint'
    7   ClientHeight = 614
     7  ClientHeight = 611
    88  ClientWidth = 920
    99  Menu = MainMenu1
     
    1111  object PaintBox1: TPaintBox
    1212    Left = 0
    13     Height = 614
     13    Height = 582
    1414    Top = 0
    1515    Width = 920
     
    1818    OnResize = PaintBox1Resize
    1919  end
     20  object StatusBar1: TStatusBar
     21    Left = 0
     22    Height = 29
     23    Top = 582
     24    Width = 920
     25    Panels = <>
     26  end
    2027  object MainMenu1: TMainMenu
     28    Images = Core.ImageList1
    2129    left = 104
    2230    top = 48
    2331    object MenuItem1: TMenuItem
    24       Caption = 'Soubor'
     32      Caption = 'File'
    2533      object MenuItem3: TMenuItem
    26         Action = Core.AProjectNew
     34        Action = Core.AFileNew
     35      end
     36      object MenuItem12: TMenuItem
     37        Action = Core.AFileOpen
     38      end
     39      object MenuItemRecentFiles: TMenuItem
     40        Caption = 'Recent files'
     41      end
     42      object MenuItem13: TMenuItem
     43        Action = Core.AFileSave
     44      end
     45      object MenuItem15: TMenuItem
     46        Action = Core.AFileSaveAs
     47      end
     48      object MenuItem16: TMenuItem
     49        Action = Core.AFileClose
     50      end
     51      object MenuItem11: TMenuItem
     52        Caption = '-'
    2753      end
    2854      object MenuItem2: TMenuItem
    2955        Action = Core.AExit
     56      end
     57    end
     58    object MenuItem6: TMenuItem
     59      Caption = 'View'
     60      object MenuItem7: TMenuItem
     61        Action = Core.AZoomNormal
     62      end
     63      object MenuItem8: TMenuItem
     64        Action = Core.AZoomIn
     65      end
     66      object MenuItem9: TMenuItem
     67        Action = Core.AZoomOut
     68      end
     69      object MenuItem10: TMenuItem
     70        Action = Core.AZoomAll
    3071      end
    3172    end
     
    3475      object MenuItem5: TMenuItem
    3576        Action = Core.AImageClear
    36       end
    37       object MenuItem6: TMenuItem
    38         Action = Core.AImageRandom
    3977      end
    4078    end
  • trunk/Forms/UFormMain.pas

    r4 r6  
    77uses
    88  Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, Menus,
    9   ExtCtrls;
     9  ExtCtrls, ComCtrls;
    1010
    1111type
     
    1616    MainMenu1: TMainMenu;
    1717    MenuItem1: TMenuItem;
     18    MenuItem10: TMenuItem;
     19    MenuItem11: TMenuItem;
     20    MenuItem12: TMenuItem;
     21    MenuItem13: TMenuItem;
     22    MenuItemRecentFiles: TMenuItem;
     23    MenuItem15: TMenuItem;
     24    MenuItem16: TMenuItem;
    1825    MenuItem2: TMenuItem;
    1926    MenuItem3: TMenuItem;
     
    2128    MenuItem5: TMenuItem;
    2229    MenuItem6: TMenuItem;
     30    MenuItem7: TMenuItem;
     31    MenuItem8: TMenuItem;
     32    MenuItem9: TMenuItem;
    2333    PaintBox1: TPaintBox;
     34    StatusBar1: TStatusBar;
    2435    Timer1: TTimer;
    2536    procedure PaintBox1Paint(Sender: TObject);
  • trunk/LibrePaint.lpi

    r5 r6  
    1717      <StringTable ProductVersion=""/>
    1818    </VersionInfo>
    19     <BuildModes Count="1">
    20       <Item1 Name="Default" Default="True"/>
     19    <BuildModes Count="2">
     20      <Item1 Name="Debug" Default="True"/>
     21      <Item2 Name="Release">
     22        <CompilerOptions>
     23          <Version Value="11"/>
     24          <Target>
     25            <Filename Value="lib/$(TargetCPU)-$(TargetOS)/LibrePaint"/>
     26          </Target>
     27          <SearchPaths>
     28            <IncludeFiles Value="$(ProjOutDir)"/>
     29            <OtherUnitFiles Value="Forms;ColorFormats"/>
     30            <UnitOutputDirectory Value="lib/$(TargetCPU)-$(TargetOS)"/>
     31          </SearchPaths>
     32          <Parsing>
     33            <SyntaxOptions>
     34              <SyntaxMode Value="Delphi"/>
     35              <CStyleOperator Value="False"/>
     36              <AllowLabel Value="False"/>
     37              <CPPInline Value="False"/>
     38            </SyntaxOptions>
     39          </Parsing>
     40          <CodeGeneration>
     41            <SmartLinkUnit Value="True"/>
     42            <Optimizations>
     43              <OptimizationLevel Value="3"/>
     44            </Optimizations>
     45          </CodeGeneration>
     46          <Linking>
     47            <Debugging>
     48              <GenerateDebugInfo Value="False"/>
     49            </Debugging>
     50            <LinkSmart Value="True"/>
     51            <Options>
     52              <Win32>
     53                <GraphicApplication Value="True"/>
     54              </Win32>
     55            </Options>
     56          </Linking>
     57        </CompilerOptions>
     58      </Item2>
    2159    </BuildModes>
    2260    <PublishOptions>
     
    3371      </Item1>
    3472    </RequiredPackages>
    35     <Units Count="8">
     73    <Units Count="7">
    3674      <Unit0>
    3775        <Filename Value="LibrePaint.lpr"/>
     
    5492        <Filename Value="UProject.pas"/>
    5593        <IsPartOfProject Value="True"/>
     94        <UnitName Value="UProject"/>
    5695      </Unit3>
    5796      <Unit4>
     
    61100        <HasResources Value="True"/>
    62101        <ResourceBaseClass Value="Form"/>
     102        <UnitName Value="UFormNew"/>
    63103      </Unit4>
    64104      <Unit5>
     
    75115        <UnitName Value="UFormMain"/>
    76116      </Unit6>
    77       <Unit7>
    78         <Filename Value="ColorFormats/UColorGray8.pas"/>
    79         <IsPartOfProject Value="True"/>
    80         <UnitName Value="UColorGray8"/>
    81       </Unit7>
    82117    </Units>
    83118  </ProjectOptions>
     
    85120    <Version Value="11"/>
    86121    <Target>
    87       <Filename Value="LibrePaint"/>
     122      <Filename Value="lib/$(TargetCPU)-$(TargetOS)/LibrePaint"/>
    88123    </Target>
    89124    <SearchPaths>
     
    95130      <SyntaxOptions>
    96131        <SyntaxMode Value="Delphi"/>
     132        <CStyleOperator Value="False"/>
     133        <IncludeAssertionCode Value="True"/>
     134        <AllowLabel Value="False"/>
     135        <CPPInline Value="False"/>
    97136      </SyntaxOptions>
    98137    </Parsing>
     138    <CodeGeneration>
     139      <Checks>
     140        <IOChecks Value="True"/>
     141        <RangeChecks Value="True"/>
     142        <OverflowChecks Value="True"/>
     143        <StackChecks Value="True"/>
     144      </Checks>
     145      <VerifyObjMethodCallValidity Value="True"/>
     146    </CodeGeneration>
    99147    <Linking>
    100148      <Options>
  • trunk/UCore.lfm

    r4 r6  
    77  Width = 857
    88  object ActionList1: TActionList
     9    Images = ImageList1
    910    left = 201
    10     top = 162
    11     object AProjectNew: TAction
     11    top = 160
     12    object AFileNew: TAction
     13      Category = 'File'
    1214      Caption = 'New...'
    13       OnExecute = AProjectNewExecute
     15      OnExecute = AFileNewExecute
    1416    end
    1517    object AExit: TAction
     
    2123      OnExecute = AImageClearExecute
    2224    end
    23     object AImageRandom: TAction
    24       Caption = 'Random'
    25       OnExecute = AImageRandomExecute
     25    object AZoomIn: TAction
     26      Category = 'View'
     27      Caption = 'Zoom in'
     28      OnExecute = AZoomInExecute
     29      ShortCut = 107
     30    end
     31    object AZoomOut: TAction
     32      Category = 'View'
     33      Caption = 'Zoom out'
     34      OnExecute = AZoomOutExecute
     35      ShortCut = 109
     36    end
     37    object AZoomAll: TAction
     38      Category = 'View'
     39      Caption = 'Zoom all'
     40    end
     41    object AZoomNormal: TAction
     42      Category = 'View'
     43      Caption = 'Zoom 100%'
     44      OnExecute = AZoomNormalExecute
     45    end
     46    object AFileOpen: TAction
     47      Category = 'File'
     48      Caption = 'Open...'
     49    end
     50    object AFileClose: TAction
     51      Category = 'File'
     52      Caption = 'Close'
     53    end
     54    object AFileSave: TAction
     55      Category = 'File'
     56      Caption = 'Save'
     57    end
     58    object AFileSaveAs: TAction
     59      Category = 'File'
     60      Caption = 'Save as...'
    2661    end
    2762  end
     63  object ImageList1: TImageList
     64    left = 200
     65    top = 240
     66  end
    2867end
  • trunk/UCore.pas

    r5 r6  
    1313
    1414  TCore = class(TDataModule)
     15    AFileSaveAs: TAction;
     16    AFileSave: TAction;
     17    AFileClose: TAction;
     18    AFileOpen: TAction;
     19    AZoomNormal: TAction;
     20    AZoomAll: TAction;
     21    AZoomIn: TAction;
     22    AZoomOut: TAction;
    1523    AImageRandom: TAction;
    1624    AImageClear: TAction;
    1725    AExit: TAction;
    18     AProjectNew: TAction;
     26    AFileNew: TAction;
    1927    ActionList1: TActionList;
     28    ImageList1: TImageList;
    2029    procedure AExitExecute(Sender: TObject);
    2130    procedure AImageClearExecute(Sender: TObject);
    2231    procedure AImageRandomExecute(Sender: TObject);
    23     procedure AProjectNewExecute(Sender: TObject);
     32    procedure AFileNewExecute(Sender: TObject);
     33    procedure AZoomInExecute(Sender: TObject);
     34    procedure AZoomNormalExecute(Sender: TObject);
     35    procedure AZoomOutExecute(Sender: TObject);
    2436    procedure DataModuleCreate(Sender: TObject);
    2537  private
     
    5466end;
    5567
    56 procedure TCore.AProjectNewExecute(Sender: TObject);
     68procedure TCore.AFileNewExecute(Sender: TObject);
    5769begin
    5870  if FormNew.ShowModal = mrOk then begin
     
    6577    FormMain.Redraw;
    6678  end;
     79end;
     80
     81procedure TCore.AZoomInExecute(Sender: TObject);
     82begin
     83  Project.ViewPort.Zoom := Project.ViewPort.Zoom * 1.3;
     84  FormMain.Redraw;
     85end;
     86
     87procedure TCore.AZoomNormalExecute(Sender: TObject);
     88begin
     89  Project.ViewPort.Zoom := 1;
     90  FormMain.Redraw;
     91end;
     92
     93procedure TCore.AZoomOutExecute(Sender: TObject);
     94begin
     95  Project.ViewPort.Zoom := Project.ViewPort.Zoom / 1.3;
     96  FormMain.Redraw;
    6797end;
    6898
  • trunk/UProject.pas

    r2 r6  
    1010type
    1111
     12  { TViewPort }
     13
     14  TViewPort = class
     15  public
     16    Pos: TPoint;
     17    Zoom: Double;
     18    ViewSize: TPoint;
     19  end;
     20
    1221  { TProject }
    1322
     
    1524    FileName: string;
    1625    Bitmap: TGBitmap;
     26    ViewPort: TViewPort;
    1727    constructor Create;
    1828    destructor Destroy; override;
     
    2131implementation
    2232
     33
    2334{ TProject }
    2435
     
    2637begin
    2738  Bitmap := TGBitmap.Create;
     39  ViewPort := TViewPort.Create;
    2840end;
    2941
    3042destructor TProject.Destroy;
    3143begin
     44  ViewPort.Free;
    3245  Bitmap.Free;
    3346  inherited Destroy;
Note: See TracChangeset for help on using the changeset viewer.