📄 treeed.pas
字号:
{**********************************************}
{ TTree Component - Tree Editor dialog }
{ Copyright (c) 1998-2004 by David Berneda }
{**********************************************}
{$I TeeDefs.inc}
unit TreeEd;
interface
uses
{$IFNDEF LINUX}
Windows, Messages,
{$ENDIF}
SysUtils, Classes,
{$IFDEF CLX}
QGraphics, QControls, QForms, QDialogs, QStdCtrls, QExtCtrls, QButtons,
QMenus, QComCtrls, QTypes, QGrids,
{$ELSE}
Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls, Buttons, Menus,
ComCtrls, ExtDlgs, Grids,
{$ENDIF}
TeeTree, TeeProcs, TeeRecentFiles,
{$IFDEF D4}
{$IFDEF CLX}
Qt, QImgList, Types, TeePreviewPanel,
{$ELSE}
ImgList,
{$ENDIF}
{$ENDIF}
TeCanvas, TeePenDlg, TeeInspector, TreeNavigator, TeeNavigator;
Const sgStandard=0; { "Standard" shape toolbar tab }
type
{ internal, used to show standard shapes at toolbar }
TTreeTagShape={$IFDEF CLR}class{$ELSE}packed Record{$ENDIF}
UseStyle : Boolean;
Style : TTreeShapeStyle;
AClass : TTreeNodeShapeClass;
AInstance: TTreeNodeShape;
end;
PTreeTagShape={$IFNDEF CLR}^{$ENDIF}TTreeTagShape;
TTreeUndoItem=class(TCollectionItem)
private
FStore : TPersistent;
Procedure StoreCopy;
public
Source : TPersistent;
Text : String;
Destructor Destroy; override;
Procedure Undo;
end;
TTreeUndo=class(TCollection)
public
Procedure Add(ASource:TPersistent; Const AText:String);
Function Last:TTreeUndoItem;
Procedure Undo;
end;
TTreeClass=class of TCustomTree;
TTreeEditor = class(TForm)
PopupNode: TPopupMenu;
Copy1: TMenuItem;
Cut1: TMenuItem;
Paste1: TMenuItem;
Delete1: TMenuItem;
N1: TMenuItem;
Edit1: TMenuItem;
BringtoFront1: TMenuItem;
SendtoBack1: TMenuItem;
N2: TMenuItem;
AddChild1: TMenuItem;
AddBrother1: TMenuItem;
N5: TMenuItem;
AddnewRoot2: TMenuItem;
Prune1: TMenuItem;
PageTree: TPageControl;
TabGeneral: TTabSheet;
TabSheet2: TTabSheet;
TabSheet3: TTabSheet;
BCrossBorder: TButtonPen;
SignPenButton: TButtonPen;
Button6: TButton;
Label8: TLabel;
Edit2: TEdit;
UDCrossSize: TUpDown;
TabSheet4: TTabSheet;
BBackImage: TButton;
Label3: TLabel;
CBImageStyle: TComboFlat;
Label4: TLabel;
Label5: TLabel;
Aligntogrid1: TMenuItem;
TabSheet5: TTabSheet;
SpeedButton1: TSpeedButton;
SpeedButton2: TSpeedButton;
StatusBar1: TStatusBar;
SpeedButton3: TSpeedButton;
SpeedButton4: TSpeedButton;
TabSheet6: TTabSheet;
CBAllowZoom: TCheckBox;
Label7: TLabel;
CBAllowScroll: TComboFlat;
CBZoomAnimated: TCheckBox;
Label9: TLabel;
Edit3: TEdit;
UpDown2: TUpDown;
TabSheet7: TTabSheet;
Button7: TButtonPen;
CBSelectedColorDef: TCheckBox;
CBSelectedTextDef: TCheckBox;
TabSheet8: TTabSheet;
GroupBox1: TGroupBox;
CBHorizVisible: TCheckBox;
GroupBox2: TGroupBox;
CBVertVisible: TCheckBox;
MainMenu1: TMainMenu;
File1: TMenuItem;
Edit4: TMenuItem;
View1: TMenuItem;
Insert1: TMenuItem;
Format1: TMenuItem;
Tools1: TMenuItem;
N3: TMenuItem;
AboutTeeTree101: TMenuItem;
N4: TMenuItem;
TeeTree10HomePage1: TMenuItem;
wwwSteemacom1: TMenuItem;
New1: TMenuItem;
Open1: TMenuItem;
Saveas1: TMenuItem;
Close1: TMenuItem;
N6: TMenuItem;
Printpreview1: TMenuItem;
Print1: TMenuItem;
N7: TMenuItem;
Cut2: TMenuItem;
Copy2: TMenuItem;
Paste2: TMenuItem;
Delete2: TMenuItem;
Selectall1: TMenuItem;
N8: TMenuItem;
Search2: TMenuItem;
Zoom1: TMenuItem;
N1001: TMenuItem;
N751: TMenuItem;
N501: TMenuItem;
N251: TMenuItem;
N151: TMenuItem;
N101: TMenuItem;
N11: TMenuItem;
Connections1: TMenuItem;
Images1: TMenuItem;
Text1: TMenuItem;
Shapes1: TMenuItem;
Crossboxes1: TMenuItem;
Grid1: TMenuItem;
Child1: TMenuItem;
Brother1: TMenuItem;
Prunenode1: TMenuItem;
Linknodes1: TMenuItem;
Style1: TMenuItem;
Border1: TMenuItem;
Font1: TMenuItem;
Gradient1: TMenuItem;
Shadow1: TMenuItem;
Transparent1: TMenuItem;
RoundRectangle1: TMenuItem;
Rectangle2: TMenuItem;
Ellipse2: TMenuItem;
Triangle2: TMenuItem;
Line2: TMenuItem;
Diamond2: TMenuItem;
N15: TMenuItem;
NewRoot1: TMenuItem;
N2001: TMenuItem;
N51: TMenuItem;
Editortabs1: TMenuItem;
Left1: TMenuItem;
Top1: TMenuItem;
Right1: TMenuItem;
Bottom1: TMenuItem;
Horizontal1: TMenuItem;
Vertical1: TMenuItem;
Diagonal1: TMenuItem;
InvDiagonal1: TMenuItem;
N9: TMenuItem;
Help1: TMenuItem;
CBVertAuto: TCheckBox;
Shapetabs1: TMenuItem;
TrackBarZoom: TTrackBar;
CBHorizAuto: TCheckBox;
Export1: TMenuItem;
CBBuffered: TCheckBox;
TabSheet10: TTabSheet;
CBSnapGrid: TCheckBox;
CBGrid: TCheckBox;
Label12: TLabel;
UpDown3: TUpDown;
Edit5: TEdit;
SaveDialog1: TSaveDialog;
CBScrollToView: TCheckBox;
Button3: TButtonPen;
CBShowHint: TCheckBox;
CBSingleSelect: TCheckBox;
Editortips1: TMenuItem;
N10: TMenuItem;
PageShapes: TPageControl;
TabSheet9: TTabSheet;
SpeedNormal: TSpeedButton;
SpeedLink: TSpeedButton;
NodeTheTree: TMenuItem;
PageNodes: TPanel;
Splitter1: TSplitter;
CBAllowDelete: TCheckBox;
N12: TMenuItem;
AligntoGrid2: TMenuItem;
NewParent1: TMenuItem;
ShowNames1: TMenuItem;
Import1: TMenuItem;
OpenDialog1: TOpenDialog;
PanelToolButtons: TPanel;
ButtonNew: TSpeedButton;
ButtonOpen: TSpeedButton;
ButtonPrint: TSpeedButton;
ButtonPrintPreview: TSpeedButton;
ButtonSave: TSpeedButton;
ButtonScroll: TSpeedButton;
TabSheet12: TTabSheet;
Label15: TLabel;
BHandlePen: TButtonPen;
EHandleSize: TEdit;
UDHandleSize: TUpDown;
PanelFont: TPanel;
FontBold: TSpeedButton;
FontItalic: TSpeedButton;
FontUnderline: TSpeedButton;
FontStrike: TSpeedButton;
FontLeftAlign: TSpeedButton;
FontCenterAlign: TSpeedButton;
FontRightAlign: TSpeedButton;
ShapeFontColor: TShape;
SBOutline: TSpeedButton;
ComboFonts: TComboFlat;
ComboFontSize: TComboFlat;
EditFontInter: TEdit;
UDFontInter: TUpDown;
ImageList1: TImageList;
N13: TMenuItem;
Fonttoolbar1: TMenuItem;
Statusbar2: TMenuItem;
CBZoomCentered: TCheckBox;
Toolbar1: TMenuItem;
PanelToolbar: TPanel;
Reopen1: TMenuItem;
N14: TMenuItem;
Label13: TLabel;
CBCrossStyle: TComboFlat;
Label19: TLabel;
CBBevelInner: TComboFlat;
Label20: TLabel;
CBBevelOuter: TComboFlat;
CBBorder: TCheckBox;
PanelTree: TPanel;
Rulers1: TMenuItem;
Save1: TMenuItem;
NodeTree: TTree;
PanelNodes: TPanel;
PanelNodesInt: TPanel;
PopupConn: TPopupMenu;
Edit6: TMenuItem;
PanelShape: TPanel;
ShapeBorderColor: TShape;
ComboPenStyle: TComboFlat;
BorderWidth: TScrollBar;
Bordertoolbar1: TMenuItem;
Delete3: TMenuItem;
Bevel1: TBevel;
ShapeBrush: TShape;
ComboBrush: TComboFlat;
ComboText: TComboFlat;
TabControl1: TTabControl;
PopupNodeTree: TPopupMenu;
Aligntoleft1: TMenuItem;
N16: TMenuItem;
Visible1: TMenuItem;
PopupPoint: TPopupMenu;
Delete4: TMenuItem;
CBTransp: TCheckBox;
Addnewpoint1: TMenuItem;
N17: TMenuItem;
Addnewpoint2: TMenuItem;
N18: TMenuItem;
Color1: TMenuItem;
N19: TMenuItem;
Pattern1: TMenuItem;
ClipText1: TMenuItem;
CBHotTrack: TCheckBox;
Label1: TLabel;
CBWheel: TComboFlat;
N20: TMenuItem;
Style2: TMenuItem;
Fixed1: TMenuItem;
Relativetostartnode1: TMenuItem;
Relativetoendnode1: TMenuItem;
AutoScroll1: TMenuItem;
N110: TMenuItem;
Sendbyemail1: TMenuItem;
Timer1: TTimer;
PanelTools: TPanel;
BHandleColor: TButtonColor;
BGridColor: TButtonColor;
BSelectedColor: TButtonColor;
BCrossColor: TButtonColor;
BSelectedText: TButtonColor;
BUnFocusedColor: TButtonColor;
PanelInspector: TPanel;
Splitter2: TSplitter;
PopupFormat: TPopupMenu;
PopupMenuPanel: TPopupMenu;
PanelBackimage: TMenuItem;
MenuItem2: TMenuItem;
Lower1: TMenuItem;
Raise1: TMenuItem;
None1: TMenuItem;
PanelBorder: TMenuItem;
PanelColor: TMenuItem;
PanelGradient: TMenuItem;
Image1: TMenuItem;
HotTrack1: TMenuItem;
ShowHints1: TMenuItem;
Border2: TMenuItem;
Color2: TMenuItem;
Gradient2: TMenuItem;
Image2: TMenuItem;
Transparent2: TMenuItem;
Font2: TMenuItem;
Pattern2: TMenuItem;
TimerButton: TTimer;
Shadow2: TMenuItem;
Autosize1: TMenuItem;
Cliptext2: TMenuItem;
CrossBox1: TMenuItem;
Automatic1: TMenuItem;
Always1: TMenuItem;
Never1: TMenuItem;
BGridPen: TButtonPen;
BGridBigPen: TButtonPen;
PopupConnFormat: TPopupMenu;
Border3: TMenuItem;
Points1: TMenuItem;
Font3: TMenuItem;
ButtonZoomIn: TSpeedButton;
ButtonZoomOut: TSpeedButton;
Edit7: TEdit;
UpDown1: TUpDown;
Inspector1: TMenuItem;
SpeedButton5: TSpeedButton;
SpeedButton6: TSpeedButton;
SpeedButton7: TSpeedButton;
SpeedButton8: TSpeedButton;
Fromarrow1: TMenuItem;
ToArrow1: TMenuItem;
Text2: TMenuItem;
GroupBox3: TGroupBox;
CBShowRulers: TCheckBox;
CBRulersUnits: TCheckBox;
Label2: TLabel;
TabSheet1: TTabSheet;
Label10: TLabel;
CBPrinterDefault: TCheckBox;
EPageWidth: TEdit;
UDPageWidth: TUpDown;
Label11: TLabel;
EPageHeight: TEdit;
UDPageHeight: TUpDown;
BPageBorder: TButtonPen;
ButtonColor1: TButtonColor;
CBPrintPanel: TCheckBox;
Toolbars1: TMenuItem;
Style3: TMenuItem;
Automatic2: TMenuItem;
Line1: TMenuItem;
Sides1: TMenuItem;
Curve1: TMenuItem;
CBPrintPageBorder: TCheckBox;
CBScrollFlat: TCheckBox;
CBUnits: TComboFlat;
BackColor1: TMenuItem;
UDZoom: TUpDown;
BGradPanel: TButton;
CBTextEnabled: TCheckBox;
Label6: TLabel;
CBTextMode: TComboFlat;
Label14: TLabel;
CBTextKey: TComboFlat;
Label16: TLabel;
CBTextMouse: TComboFlat;
CBTextSize: TCheckBox;
CBTextFormat: TCheckBox;
RadioGroup1: TRadioGroup;
CBTextFont: TCheckBox;
Bevel2: TBevel;
N21: TMenuItem;
Sizetogrid1: TMenuItem;
PaintBox1: TPaintBox;
N22: TMenuItem;
Copyaspicture1: TMenuItem;
HorizRuler: TTreeRuler;
VertRuler: TTreeRuler;
Automatic3: TMenuItem;
TeeInspector1: TTeeInspector;
TreePageNavigator1: TTreePageNavigator;
InvertedSides1: TMenuItem;
N24: TMenuItem;
Linestyle1: TMenuItem;
Sidesstyle1: TMenuItem;
Invertedsidesstyle1: TMenuItem;
Curve2: TMenuItem;
Automatic4: TMenuItem;
SBCloseInspector: TSpeedButton;
SBCloseNodeTree: TSpeedButton;
procedure BBackImageClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure CBGridClick(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure AddBrother1Click(Sender: TObject);
procedure AddChild1Click(Sender: TObject);
procedure BringtoFront1Click(Sender: TObject);
procedure Copy1Click(Sender: TObject);
procedure Cut1Click(Sender: TObject);
procedure Delete1Click(Sender: TObject);
procedure Edit1Click(Sender: TObject);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -