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
This commit is contained in:
sekelsenmat
2012-06-23 13:22:12 +00:00
parent 1f538d2f04
commit e29764a85f
2 changed files with 55 additions and 15 deletions

View File

@ -11,14 +11,14 @@ object frmFPVViewer: TfrmFPVViewer
LCLVersion = '1.1' LCLVersion = '1.1'
object editFileName: TFileNameEdit object editFileName: TFileNameEdit
Left = 8 Left = 8
Height = 21 Height = 23
Top = 8 Top = 8
Width = 304 Width = 304
DialogOptions = [] DialogOptions = []
FilterIndex = 0 FilterIndex = 0
HideDirectories = False HideDirectories = False
ButtonWidth = 23 ButtonWidth = 23
NumGlyphs = 0 NumGlyphs = 1
MaxLength = 0 MaxLength = 0
TabOrder = 0 TabOrder = 0
end end
@ -33,7 +33,7 @@ object frmFPVViewer: TfrmFPVViewer
end end
object spinScale: TFloatSpinEdit object spinScale: TFloatSpinEdit
Left = 72 Left = 72
Height = 21 Height = 23
Top = 97 Top = 97
Width = 168 Width = 168
DecimalPlaces = 6 DecimalPlaces = 6
@ -46,9 +46,9 @@ object frmFPVViewer: TfrmFPVViewer
end end
object Label1: TLabel object Label1: TLabel
Left = 8 Left = 8
Height = 14 Height = 16
Top = 97 Top = 97
Width = 45 Width = 47
Caption = 'Scale by:' Caption = 'Scale by:'
ParentColor = False ParentColor = False
end end
@ -70,19 +70,19 @@ object frmFPVViewer: TfrmFPVViewer
Height = 410 Height = 410
Top = 128 Top = 128
Width = 485 Width = 485
PageIndex = 0 PageIndex = 1
Anchors = [akTop, akLeft, akRight, akBottom] Anchors = [akTop, akLeft, akRight, akBottom]
TabOrder = 4 TabOrder = 4
TabStop = True TabStop = True
object pageViewer: TPage object pageViewer: TPage
end end
object Page2: TPage object pageTreeData: TPage
object DXFTreeView: TTreeView object DXFTreeView: TTreeView
Left = 8 Left = 8
Height = 313 Height = 313
Top = 0 Top = 0
Width = 321 Width = 321
DefaultItemHeight = 19 DefaultItemHeight = 18
TabOrder = 0 TabOrder = 0
end end
end end
@ -116,15 +116,15 @@ object frmFPVViewer: TfrmFPVViewer
end end
object Label2: TLabel object Label2: TLabel
Left = 8 Left = 8
Height = 14 Height = 16
Top = 72 Top = 72
Width = 68 Width = 74
Caption = 'Y adjustment:' Caption = 'Y adjustment:'
ParentColor = False ParentColor = False
end end
object spinAdjustY: TSpinEdit object spinAdjustY: TSpinEdit
Left = 80 Left = 80
Height = 21 Height = 23
Top = 72 Top = 72
Width = 72 Width = 72
Increment = 100 Increment = 100
@ -134,7 +134,7 @@ object frmFPVViewer: TfrmFPVViewer
end end
object spinAdjustX: TSpinEdit object spinAdjustX: TSpinEdit
Left = 232 Left = 232
Height = 21 Height = 23
Top = 72 Top = 72
Width = 72 Width = 72
Increment = 50 Increment = 50
@ -144,10 +144,19 @@ object frmFPVViewer: TfrmFPVViewer
end end
object Label3: TLabel object Label3: TLabel
Left = 160 Left = 160
Height = 14 Height = 16
Top = 72 Top = 72
Width = 68 Width = 74
Caption = 'X adjustment:' Caption = 'X adjustment:'
ParentColor = False ParentColor = False
end end
object Button2: TButton
Left = 312
Height = 25
Top = 70
Width = 168
Caption = 'View FPVectorial Tokens'
OnClick = Button2Click
TabOrder = 10
end
end end

View File

@ -18,13 +18,14 @@ type
btnViewDXFTokens: TButton; btnViewDXFTokens: TButton;
Button1: TButton; Button1: TButton;
btnContourLines: TButton; btnContourLines: TButton;
Button2: TButton;
buttonRenderingTest: TButton; buttonRenderingTest: TButton;
editFileName: TFileNameEdit; editFileName: TFileNameEdit;
Label2: TLabel; Label2: TLabel;
Label3: TLabel; Label3: TLabel;
notebook: TNotebook; notebook: TNotebook;
pageViewer: TPage; pageViewer: TPage;
Page2: TPage; pageTreeData: TPage;
spinAdjustY: TSpinEdit; spinAdjustY: TSpinEdit;
spinAdjustX: TSpinEdit; spinAdjustX: TSpinEdit;
spinScale: TFloatSpinEdit; spinScale: TFloatSpinEdit;
@ -34,12 +35,14 @@ type
procedure btnVisualizeClick(Sender: TObject); procedure btnVisualizeClick(Sender: TObject);
procedure btnViewDXFTokensClick(Sender: TObject); procedure btnViewDXFTokensClick(Sender: TObject);
procedure Button1Click(Sender: TObject); procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure buttonRenderingTestClick(Sender: TObject); procedure buttonRenderingTestClick(Sender: TObject);
procedure FormCreate(Sender: TObject); procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject); procedure FormDestroy(Sender: TObject);
procedure spinScaleChange(Sender: TObject); procedure spinScaleChange(Sender: TObject);
private private
procedure MyContourLineDrawingProc(z,x1,y1,x2,y2: Double); procedure MyContourLineDrawingProc(z,x1,y1,x2,y2: Double);
function FPVDebugAddItemProc(AStr: string; AParent: Pointer): Pointer;
public public
{ public declarations } { public declarations }
Drawer: TFPVVDrawer; Drawer: TFPVVDrawer;
@ -224,6 +227,26 @@ begin
end; end;
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); procedure TfrmFPVViewer.buttonRenderingTestClick(Sender: TObject);
var var
VecDoc: TvVectorialDocument; VecDoc: TvVectorialDocument;
@ -296,5 +319,13 @@ begin
Round(y2 * spinScale.Value / 20)); Round(y2 * spinScale.Value / 20));
end; end;
function TfrmFPVViewer.FPVDebugAddItemProc(AStr: string; AParent: Pointer): Pointer;
var
lTreeItem: TTreeNode;
begin
lTreeItem := DXFTreeView.Items.AddChild(TTreeNode(AParent), AStr);
Result := lTreeItem;
end;
end. end.