diff --git a/applications/fpvviewer/examples_files/odt/lazarus_overview.odt b/applications/fpvviewer/examples_files/odt/lazarus_overview.odt new file mode 100644 index 000000000..fd48999d7 Binary files /dev/null and b/applications/fpvviewer/examples_files/odt/lazarus_overview.odt differ diff --git a/applications/fpvviewer/examples_files/odt/lazarus_overview/Configurations2/accelerator/current.xml b/applications/fpvviewer/examples_files/odt/lazarus_overview/Configurations2/accelerator/current.xml new file mode 100755 index 000000000..e69de29bb diff --git a/applications/fpvviewer/examples_files/odt/lazarus_overview/META-INF/manifest.xml b/applications/fpvviewer/examples_files/odt/lazarus_overview/META-INF/manifest.xml new file mode 100755 index 000000000..2796993a5 --- /dev/null +++ b/applications/fpvviewer/examples_files/odt/lazarus_overview/META-INF/manifest.xml @@ -0,0 +1,12 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/applications/fpvviewer/examples_files/odt/lazarus_overview/Thumbnails/thumbnail.png b/applications/fpvviewer/examples_files/odt/lazarus_overview/Thumbnails/thumbnail.png new file mode 100755 index 000000000..5dab4be9c Binary files /dev/null and b/applications/fpvviewer/examples_files/odt/lazarus_overview/Thumbnails/thumbnail.png differ diff --git a/applications/fpvviewer/examples_files/odt/lazarus_overview/content.xml b/applications/fpvviewer/examples_files/odt/lazarus_overview/content.xml new file mode 100755 index 000000000..186bca077 --- /dev/null +++ b/applications/fpvviewer/examples_files/odt/lazarus_overview/content.xml @@ -0,0 +1,163 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Lazarus + Lazarus is a free and open source development tool for the Free Pascal compiler, which is also free and open source. + Overview + Lazarus is a free cross-platform visual integrated development environment (IDE) for rapid application development (RAD) using the Free Pascal compiler supported dialects of Object Pascal. Developers use Lazarus to create native code console and graphical user interface (GUI) applications for the desktop along with mobile devices, web applications, web services, and visual components and function libraries (.so, .dll, etc) for use by other programs for any platform the Free Pascal compiler supports( Mac, Unix, Linux, Windows, etc). + + Lazarus provides a highly visual development environment for the creation of rich user interfaces, application logic, and other supporting code artifacts. Along with the customary project management features, the Lazarus IDE also provides features that includes but are not limited to: + + + + A What You See Is What You Get (WYSIWYG) visual windows layout designer + + + An extensive set of GUI widgets or visual components such as edit boxes, buttons, dialogs, menus, etc. + + + An extensive set of non visual components for common behaviors such as persistence of application settings + + + A set of data connectivity components for MySQL, PostgresSQL, FireBird, Oracle, SQL Lite, Sybase, and others + + + Data aware widget set that allows the developer to see data in visual components in the designer to assist with development + + + Interactive code debugger + + + Code completion + + + Code templates + + + Syntax highlighting + + + Context sensitive help + + + Text resource manager for internationalization + + + Automatic code formatting + + + The ability to create custom components + + + + Lazarus inherits three features from its use of the Free Pascal compiler: compile and execution speed, and cross-compilation. The Free Pascal compiler benefits from the Pascal language structure, which is rigid, and the steady advancements of Pascal compiler design, spanning several decades, to compile large applications quickly, often seconds. + + + diff --git a/applications/fpvviewer/examples_files/odt/lazarus_overview/manifest.rdf b/applications/fpvviewer/examples_files/odt/lazarus_overview/manifest.rdf new file mode 100755 index 000000000..927e206bb --- /dev/null +++ b/applications/fpvviewer/examples_files/odt/lazarus_overview/manifest.rdf @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + diff --git a/applications/fpvviewer/examples_files/odt/lazarus_overview/meta.xml b/applications/fpvviewer/examples_files/odt/lazarus_overview/meta.xml new file mode 100755 index 000000000..a100f84c4 --- /dev/null +++ b/applications/fpvviewer/examples_files/odt/lazarus_overview/meta.xml @@ -0,0 +1,11 @@ + + + + 2013-07-21T09:29:41.06 + 2013-07-21T20:13:32.29 + PT10S + 2 + LibreOffice/4.0.2.2$Windows_x86 LibreOffice_project/4c82dcdd6efcd48b1d8bba66bfe1989deee49c3 + + + diff --git a/applications/fpvviewer/examples_files/odt/lazarus_overview/mimetype b/applications/fpvviewer/examples_files/odt/lazarus_overview/mimetype new file mode 100755 index 000000000..2e95b81c9 --- /dev/null +++ b/applications/fpvviewer/examples_files/odt/lazarus_overview/mimetype @@ -0,0 +1 @@ +application/vnd.oasis.opendocument.text \ No newline at end of file diff --git a/applications/fpvviewer/examples_files/odt/lazarus_overview/settings.xml b/applications/fpvviewer/examples_files/odt/lazarus_overview/settings.xml new file mode 100755 index 000000000..5e689c348 --- /dev/null +++ b/applications/fpvviewer/examples_files/odt/lazarus_overview/settings.xml @@ -0,0 +1,107 @@ + + + + + 0 + 0 + 25534 + 9289 + true + false + + + view2 + 4267 + 2925 + 0 + 0 + 25532 + 9287 + 0 + 0 + false + 100 + false + + + + + true + false + true + 490666 + false + true + false + false + true + false + false + + false + false + false + false + false + false + true + false + 0 + false + false + false + false + false + false + false + false + false + false + true + true + false + false + true + true + true + false + high-resolution + 470846 + 1 + 0 + false + false + + + false + true + + false + false + true + false + true + true + false + false + false + + false + true + true + false + true + true + true + false + false + + false + 0 + false + false + true + true + + + diff --git a/applications/fpvviewer/examples_files/odt/lazarus_overview/styles.xml b/applications/fpvviewer/examples_files/odt/lazarus_overview/styles.xml new file mode 100755 index 000000000..9bb44ca61 --- /dev/null +++ b/applications/fpvviewer/examples_files/odt/lazarus_overview/styles.xml @@ -0,0 +1,136 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/applications/fpvviewer/fpvv_mainform.lfm b/applications/fpvviewer/fpvv_mainform.lfm index f0088fc7f..e817ed3fe 100644 --- a/applications/fpvviewer/fpvv_mainform.lfm +++ b/applications/fpvviewer/fpvv_mainform.lfm @@ -1,7 +1,7 @@ object frmFPVViewer: TfrmFPVViewer - Left = 322 + Left = 267 Height = 600 - Top = 143 + Top = 97 Width = 485 Caption = 'Free Pascal Vectorial Viewer' ClientHeight = 600 @@ -37,7 +37,7 @@ object frmFPVViewer: TfrmFPVViewer end object editSearchInTokens: TEdit Left = 4 - Height = 23 + Height = 22 Top = 0 Width = 156 TabOrder = 1 @@ -53,6 +53,23 @@ object frmFPVViewer: TfrmFPVViewer TabOrder = 2 end end + object pageDebug: TPage + object memoDebug: TMemo + Left = 0 + Height = 402 + Top = 22 + Width = 485 + Align = alClient + Font.Height = -13 + Font.Name = 'Courier New' + Lines.Strings = ( + 'memoDebug' + ) + ParentFont = False + ScrollBars = ssBoth + TabOrder = 0 + end + end end object Panel1: TPanel Left = 0 @@ -65,7 +82,7 @@ object frmFPVViewer: TfrmFPVViewer TabOrder = 1 object editFileName: TFileNameEdit Left = 8 - Height = 23 + Height = 22 Top = 8 Width = 304 DialogOptions = [] @@ -87,7 +104,7 @@ object frmFPVViewer: TfrmFPVViewer end object spinScale: TFloatSpinEdit Left = 72 - Height = 23 + Height = 16 Top = 97 Width = 168 DecimalPlaces = 6 @@ -100,9 +117,9 @@ object frmFPVViewer: TfrmFPVViewer end object Label1: TLabel Left = 8 - Height = 15 + Height = 16 Top = 97 - Width = 46 + Width = 55 Caption = 'Scale by:' ParentColor = False end @@ -144,15 +161,15 @@ object frmFPVViewer: TfrmFPVViewer end object Label2: TLabel Left = 8 - Height = 15 + Height = 16 Top = 72 - Width = 73 + Width = 88 Caption = 'Y adjustment:' ParentColor = False end object spinAdjustY: TSpinEdit Left = 80 - Height = 23 + Height = 16 Top = 72 Width = 72 Increment = 100 @@ -163,7 +180,7 @@ object frmFPVViewer: TfrmFPVViewer end object spinAdjustX: TSpinEdit Left = 232 - Height = 23 + Height = 16 Top = 72 Width = 72 Increment = 50 @@ -174,9 +191,9 @@ object frmFPVViewer: TfrmFPVViewer end object Label3: TLabel Left = 160 - Height = 15 + Height = 16 Top = 72 - Width = 73 + Width = 88 Caption = 'X adjustment:' ParentColor = False end @@ -191,18 +208,18 @@ object frmFPVViewer: TfrmFPVViewer end object Label4: TLabel Left = 9 - Height = 15 + Height = 16 Top = 126 - Width = 128 + Width = 153 Caption = 'Force encoding on read:' ParentColor = False end object comboEncoding: TComboBox Left = 144 - Height = 23 + Height = 20 Top = 126 Width = 128 - ItemHeight = 15 + ItemHeight = 0 ItemIndex = 0 Items.Strings = ( 'Read from the file' @@ -238,19 +255,28 @@ object frmFPVViewer: TfrmFPVViewer end object labelFileEncoding: TLabel Left = 278 - Height = 15 + Height = 16 Top = 130 - Width = 74 + Width = 88 Caption = 'File encoding:' ParentColor = False end object checkForceWhiteBackground: TCheckBox Left = 9 - Height = 19 + Height = 18 Top = 152 - Width = 153 + Width = 178 Caption = 'Force white background?' TabOrder = 11 end + object buttonViewDebugInfo: TButton + Left = 256 + Height = 17 + Top = 153 + Width = 131 + Caption = 'View Debug Info' + OnClick = buttonViewDebugInfoClick + TabOrder = 12 + end end end diff --git a/applications/fpvviewer/fpvv_mainform.pas b/applications/fpvviewer/fpvv_mainform.pas index 669b6d055..0a9609370 100644 --- a/applications/fpvviewer/fpvv_mainform.pas +++ b/applications/fpvviewer/fpvv_mainform.pas @@ -7,7 +7,7 @@ interface uses Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, EditBtn, StdCtrls, Spin, ExtCtrls, ComCtrls, Grids, ColorBox, Math, - fpvv_drawer, fpimage, fpcanvas, coreconrec; + fpvv_drawer, fpimage, fpcanvas, coreconrec, fpvutils; type @@ -20,6 +20,7 @@ type btnVisualize: TButton; Button1: TButton; Button2: TButton; + buttonViewDebugInfo: TButton; buttonRenderingTest: TButton; checkForceWhiteBackground: TCheckBox; comboEncoding: TComboBox; @@ -30,7 +31,9 @@ type Label3: TLabel; Label4: TLabel; labelFileEncoding: TLabel; + memoDebug: TMemo; notebook: TNotebook; + pageDebug: TPage; pageViewer: TPage; pageTreeData: TPage; Panel1: TPanel; @@ -45,6 +48,7 @@ type procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure buttonRenderingTestClick(Sender: TObject); + procedure buttonViewDebugInfoClick(Sender: TObject); procedure FormCreate(Sender: TObject); procedure FormDestroy(Sender: TObject); procedure spinAdjustXChange(Sender: TObject); @@ -57,6 +61,7 @@ type WheelDelta: Integer; MousePos: TPoint; var Handled: Boolean); procedure HandleDrawerPosChanged(Sender: TObject); procedure HandleDrawerRedraw(Sender: TObject); + procedure ViewerDebugOutCallback(AStr: string); public { public declarations } Drawer: TFPVVDrawer; @@ -354,6 +359,11 @@ begin end; end; +procedure TfrmFPVViewer.buttonViewDebugInfoClick(Sender: TObject); +begin + notebook.PageIndex := 2; +end; + procedure TfrmFPVViewer.FormCreate(Sender: TObject); begin Drawer := TFPVVDrawer.Create(Self); @@ -365,6 +375,8 @@ begin Drawer.OnMouseWheel := @HandleDrawerMouseWheel; Drawer.PosChangedCallback := @HandleDrawerPosChanged; Drawer.RedrawCallback := @HandleDrawerRedraw; + + FPVUDebugOutCallback := @ViewerDebugOutCallback; end; procedure TfrmFPVViewer.FormDestroy(Sender: TObject); @@ -431,5 +443,10 @@ begin btnVisualizeClick(Sender); end; +procedure TfrmFPVViewer.ViewerDebugOutCallback(AStr: string); +begin + memoDebug.Lines.Add(AStr); +end; + end. diff --git a/applications/fpvviewer/fpvviewer.lpr b/applications/fpvviewer/fpvviewer.lpr index 7b940cefc..0c10e3ec1 100644 --- a/applications/fpvviewer/fpvviewer.lpr +++ b/applications/fpvviewer/fpvviewer.lpr @@ -7,8 +7,7 @@ uses cthreads, {$ENDIF}{$ENDIF} Interfaces, // this includes the LCL widgetset - Forms, fpvv_mainform, dxftokentotree, fpvv_drawer, fpvectorialpkg, CoreConRec - { you can add units after this }; + Forms, fpvv_mainform, dxftokentotree, fpvv_drawer, fpvectorialpkg, CoreConRec; {$R *.res}