From e29764a85fac4b566560e7b6733a71ba6a451e53 Mon Sep 17 00:00:00 2001 From: sekelsenmat Date: Sat, 23 Jun 2012 13:22:12 +0000 Subject: [PATCH] fpvviewer: Adds a new button to use the new fpvectorial debug system git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@2467 8e941d3f-bd1b-0410-a28a-d453659cc2b4 --- applications/fpvviewer/fpvv_mainform.lfm | 37 +++++++++++++++--------- applications/fpvviewer/fpvv_mainform.pas | 33 ++++++++++++++++++++- 2 files changed, 55 insertions(+), 15 deletions(-) diff --git a/applications/fpvviewer/fpvv_mainform.lfm b/applications/fpvviewer/fpvv_mainform.lfm index 8be257237..833563542 100644 --- a/applications/fpvviewer/fpvv_mainform.lfm +++ b/applications/fpvviewer/fpvv_mainform.lfm @@ -11,14 +11,14 @@ object frmFPVViewer: TfrmFPVViewer LCLVersion = '1.1' object editFileName: TFileNameEdit Left = 8 - Height = 21 + Height = 23 Top = 8 Width = 304 DialogOptions = [] FilterIndex = 0 HideDirectories = False ButtonWidth = 23 - NumGlyphs = 0 + NumGlyphs = 1 MaxLength = 0 TabOrder = 0 end @@ -33,7 +33,7 @@ object frmFPVViewer: TfrmFPVViewer end object spinScale: TFloatSpinEdit Left = 72 - Height = 21 + Height = 23 Top = 97 Width = 168 DecimalPlaces = 6 @@ -46,9 +46,9 @@ object frmFPVViewer: TfrmFPVViewer end object Label1: TLabel Left = 8 - Height = 14 + Height = 16 Top = 97 - Width = 45 + Width = 47 Caption = 'Scale by:' ParentColor = False end @@ -70,19 +70,19 @@ object frmFPVViewer: TfrmFPVViewer Height = 410 Top = 128 Width = 485 - PageIndex = 0 + PageIndex = 1 Anchors = [akTop, akLeft, akRight, akBottom] TabOrder = 4 TabStop = True object pageViewer: TPage end - object Page2: TPage + object pageTreeData: TPage object DXFTreeView: TTreeView Left = 8 Height = 313 Top = 0 Width = 321 - DefaultItemHeight = 19 + DefaultItemHeight = 18 TabOrder = 0 end end @@ -116,15 +116,15 @@ object frmFPVViewer: TfrmFPVViewer end object Label2: TLabel Left = 8 - Height = 14 + Height = 16 Top = 72 - Width = 68 + Width = 74 Caption = 'Y adjustment:' ParentColor = False end object spinAdjustY: TSpinEdit Left = 80 - Height = 21 + Height = 23 Top = 72 Width = 72 Increment = 100 @@ -134,7 +134,7 @@ object frmFPVViewer: TfrmFPVViewer end object spinAdjustX: TSpinEdit Left = 232 - Height = 21 + Height = 23 Top = 72 Width = 72 Increment = 50 @@ -144,10 +144,19 @@ object frmFPVViewer: TfrmFPVViewer end object Label3: TLabel Left = 160 - Height = 14 + Height = 16 Top = 72 - Width = 68 + Width = 74 Caption = 'X adjustment:' ParentColor = False end + object Button2: TButton + Left = 312 + Height = 25 + Top = 70 + Width = 168 + Caption = 'View FPVectorial Tokens' + OnClick = Button2Click + TabOrder = 10 + end end diff --git a/applications/fpvviewer/fpvv_mainform.pas b/applications/fpvviewer/fpvv_mainform.pas index 0c6e68c8c..175eae712 100644 --- a/applications/fpvviewer/fpvv_mainform.pas +++ b/applications/fpvviewer/fpvv_mainform.pas @@ -18,13 +18,14 @@ type btnViewDXFTokens: TButton; Button1: TButton; btnContourLines: TButton; + Button2: TButton; buttonRenderingTest: TButton; editFileName: TFileNameEdit; Label2: TLabel; Label3: TLabel; notebook: TNotebook; pageViewer: TPage; - Page2: TPage; + pageTreeData: TPage; spinAdjustY: TSpinEdit; spinAdjustX: TSpinEdit; spinScale: TFloatSpinEdit; @@ -34,12 +35,14 @@ type procedure btnVisualizeClick(Sender: TObject); procedure btnViewDXFTokensClick(Sender: TObject); procedure Button1Click(Sender: TObject); + procedure Button2Click(Sender: TObject); procedure buttonRenderingTestClick(Sender: TObject); procedure FormCreate(Sender: TObject); procedure FormDestroy(Sender: TObject); procedure spinScaleChange(Sender: TObject); private procedure MyContourLineDrawingProc(z,x1,y1,x2,y2: Double); + function FPVDebugAddItemProc(AStr: string; AParent: Pointer): Pointer; public { public declarations } Drawer: TFPVVDrawer; @@ -224,6 +227,26 @@ begin end; end; +procedure TfrmFPVViewer.Button2Click(Sender: TObject); +var + Vec: TvVectorialDocument; +begin + // First check the in input + //if not CheckInput() then Exit; + + notebook.PageIndex := 1; + + Vec := TvVectorialDocument.Create; + try + Vec.ReadFromFile(editFileName.FileName); + + DXFTreeView.Items.Clear; + Vec.GenerateDebugTree(@FPVDebugAddItemProc); + finally + Vec.Free; + end; +end; + procedure TfrmFPVViewer.buttonRenderingTestClick(Sender: TObject); var VecDoc: TvVectorialDocument; @@ -296,5 +319,13 @@ begin Round(y2 * spinScale.Value / 20)); end; +function TfrmFPVViewer.FPVDebugAddItemProc(AStr: string; AParent: Pointer): Pointer; +var + lTreeItem: TTreeNode; +begin + lTreeItem := DXFTreeView.Items.AddChild(TTreeNode(AParent), AStr); + Result := lTreeItem; +end; + end.