mirror of
https://github.com/HeidiSQL/HeidiSQL.git
synced 2025-08-06 18:24:26 +08:00
Issue #2131: add grid editor links unit
This commit is contained in:
@ -328,6 +328,10 @@
|
|||||||
<HasResources Value="True"/>
|
<HasResources Value="True"/>
|
||||||
<ResourceBaseClass Value="Form"/>
|
<ResourceBaseClass Value="Form"/>
|
||||||
</Unit>
|
</Unit>
|
||||||
|
<Unit>
|
||||||
|
<Filename Value="source\grideditlinks.pas"/>
|
||||||
|
<IsPartOfProject Value="True"/>
|
||||||
|
</Unit>
|
||||||
</Units>
|
</Units>
|
||||||
</ProjectOptions>
|
</ProjectOptions>
|
||||||
<CompilerOptions>
|
<CompilerOptions>
|
||||||
|
@ -21,7 +21,7 @@ uses
|
|||||||
exportgrid, usermanager, selectdbobject, reformatter, searchreplace,
|
exportgrid, usermanager, selectdbobject, reformatter, searchreplace,
|
||||||
connections, jsonregistry, sqlhelp, updatecheck, insertfiles, texteditor,
|
connections, jsonregistry, sqlhelp, updatecheck, insertfiles, texteditor,
|
||||||
customize_highlighter, preferences, table_editor, view, routine_editor,
|
customize_highlighter, preferences, table_editor, view, routine_editor,
|
||||||
trigger_editor, event_editor, tabletools, bineditor;
|
trigger_editor, event_editor, tabletools, bineditor, grideditlinks;
|
||||||
|
|
||||||
{$R *.res}
|
{$R *.res}
|
||||||
{.$R resources.rc}
|
{.$R resources.rc}
|
||||||
|
@ -238,7 +238,7 @@ type
|
|||||||
|
|
||||||
implementation
|
implementation
|
||||||
|
|
||||||
uses Main, apphelpers, dbstructures.sqlite;
|
uses Main, apphelpers, dbstructures.sqlite, grideditlinks;
|
||||||
|
|
||||||
{$I const.inc}
|
{$I const.inc}
|
||||||
|
|
||||||
@ -870,7 +870,7 @@ procedure Tconnform.ListSessionsCreateEditor(Sender: TBaseVirtualTree; Node: PVi
|
|||||||
Column: TColumnIndex; out EditLink: IVTEditLink);
|
Column: TColumnIndex; out EditLink: IVTEditLink);
|
||||||
begin
|
begin
|
||||||
// Use our own text editor to rename a session
|
// Use our own text editor to rename a session
|
||||||
//EditLink := TInplaceEditorLink.Create(Sender as TVirtualStringTree, True, nil);
|
EditLink := TInplaceEditorLink.Create(Sender as TVirtualStringTree, True, nil);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
||||||
|
@ -8,7 +8,7 @@ uses
|
|||||||
Classes, SysUtils, Forms, Types, StdCtrls, Clipbrd, apphelpers,
|
Classes, SysUtils, Forms, Types, StdCtrls, Clipbrd, apphelpers,
|
||||||
Graphics, Dialogs, ImgList, ComCtrls, Generics.Collections, Generics.Defaults,
|
Graphics, Dialogs, ImgList, ComCtrls, Generics.Collections, Generics.Defaults,
|
||||||
ExtCtrls, laz.VirtualTrees, RegExpr, Controls, EditBtn, Menus,
|
ExtCtrls, laz.VirtualTrees, RegExpr, Controls, EditBtn, Menus,
|
||||||
GraphUtil, Math;
|
GraphUtil, Math, LCLIntf;
|
||||||
|
|
||||||
type
|
type
|
||||||
// Form with a sizegrip in the lower right corner, without the need for a statusbar
|
// Form with a sizegrip in the lower right corner, without the need for a statusbar
|
||||||
@ -37,7 +37,7 @@ type
|
|||||||
class function ScaleSize(x: Extended; Control: TControl): Integer; overload;
|
class function ScaleSize(x: Extended; Control: TControl): Integer; overload;
|
||||||
class procedure PageControlTabHighlight(PageControl: TPageControl);
|
class procedure PageControlTabHighlight(PageControl: TPageControl);
|
||||||
property PixelsPerInchDesigned: Integer read FPixelsPerInchDesigned;
|
property PixelsPerInchDesigned: Integer read FPixelsPerInchDesigned;
|
||||||
procedure ShowPopup(ClickedControl: TControl; PopupMenu: TPopupMenu);
|
class procedure ShowPopup(ClickedControl: TControl; PopupMenu: TPopupMenu);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
// Modern file-open-dialog with high DPI support and encoding selector
|
// Modern file-open-dialog with high DPI support and encoding selector
|
||||||
@ -93,7 +93,7 @@ type
|
|||||||
property OnExit: TNotifyEvent read FOnExit write FOnExit;
|
property OnExit: TNotifyEvent read FOnExit write FOnExit;
|
||||||
end;}
|
end;}
|
||||||
|
|
||||||
{TExtComboBox = class(TComboBox)
|
TExtComboBox = class(TComboBox)
|
||||||
private
|
private
|
||||||
FcbHintIndex: Integer;
|
FcbHintIndex: Integer;
|
||||||
FHintWindow: THintWindow;
|
FHintWindow: THintWindow;
|
||||||
@ -102,7 +102,7 @@ type
|
|||||||
procedure DropDown; override;
|
procedure DropDown; override;
|
||||||
procedure CloseUp; override;
|
procedure CloseUp; override;
|
||||||
procedure InitiateAction; override;
|
procedure InitiateAction; override;
|
||||||
end;}
|
end;
|
||||||
|
|
||||||
{TExtHintWindow = class(THintWindow)
|
{TExtHintWindow = class(THintWindow)
|
||||||
private
|
private
|
||||||
@ -476,7 +476,7 @@ begin
|
|||||||
end;;
|
end;;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TExtForm.ShowPopup(ClickedControl: TControl; PopupMenu: TPopupMenu);
|
class procedure TExtForm.ShowPopup(ClickedControl: TControl; PopupMenu: TPopupMenu);
|
||||||
begin
|
begin
|
||||||
PopupMenu.Popup(ClickedControl.ClientOrigin.X, ClickedControl.ClientOrigin.Y + ClickedControl.Height);
|
PopupMenu.Popup(ClickedControl.ClientOrigin.X, ClickedControl.ClientOrigin.Y + ClickedControl.Height);
|
||||||
end;
|
end;
|
||||||
@ -696,7 +696,7 @@ end;}
|
|||||||
|
|
||||||
{ TExtComboBox }
|
{ TExtComboBox }
|
||||||
|
|
||||||
{procedure TExtComboBox.Change;
|
procedure TExtComboBox.Change;
|
||||||
var
|
var
|
||||||
P: TPoint;
|
P: TPoint;
|
||||||
HintRect: TRect;
|
HintRect: TRect;
|
||||||
@ -747,7 +747,7 @@ begin
|
|||||||
FcbHintIndex := ItemIndex;
|
FcbHintIndex := ItemIndex;
|
||||||
Change;
|
Change;
|
||||||
end;
|
end;
|
||||||
end;}
|
end;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
1857
source/grideditlinks.pas
Normal file
1857
source/grideditlinks.pas
Normal file
File diff suppressed because it is too large
Load Diff
@ -99,7 +99,7 @@ type
|
|||||||
|
|
||||||
implementation
|
implementation
|
||||||
|
|
||||||
uses main;
|
uses main, grideditlinks;
|
||||||
|
|
||||||
const
|
const
|
||||||
ColColname = 0;
|
ColColname = 0;
|
||||||
@ -260,12 +260,12 @@ procedure TfrmInsertFiles.ListColumnsCreateEditor(Sender: TBaseVirtualTree; Node
|
|||||||
Column: TColumnIndex; out EditLink: IVTEditLink);
|
Column: TColumnIndex; out EditLink: IVTEditLink);
|
||||||
var
|
var
|
||||||
Grid: TVirtualStringTree;
|
Grid: TVirtualStringTree;
|
||||||
//EnumEditor: TEnumEditorLink;
|
EnumEditor: TEnumEditorLink;
|
||||||
begin
|
begin
|
||||||
// Start cell editor
|
// Start cell editor
|
||||||
Grid := Sender as TVirtualStringTree;
|
Grid := Sender as TVirtualStringTree;
|
||||||
if Column = ColValue then begin
|
if Column = ColValue then begin
|
||||||
{EnumEditor := TEnumEditorLink.Create(Grid, True, nil);
|
EnumEditor := TEnumEditorLink.Create(Grid, True, nil);
|
||||||
EnumEditor.AllowCustomText := True;
|
EnumEditor.AllowCustomText := True;
|
||||||
EnumEditor.ValueList := TStringList.Create;
|
EnumEditor.ValueList := TStringList.Create;
|
||||||
EnumEditor.ValueList.Text := 'NULL'+CRLF+
|
EnumEditor.ValueList.Text := 'NULL'+CRLF+
|
||||||
@ -281,7 +281,7 @@ begin
|
|||||||
'UPPER(''%filenname%'')'+CRLF+
|
'UPPER(''%filenname%'')'+CRLF+
|
||||||
'UNIX_TIMESTAMP(''%filedatetime%'')'+CRLF+
|
'UNIX_TIMESTAMP(''%filedatetime%'')'+CRLF+
|
||||||
'ENCODE(''%filename%'', ''password'')';
|
'ENCODE(''%filename%'', ''password'')';
|
||||||
EditLink := EnumEditor;}
|
EditLink := EnumEditor;
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
@ -1421,7 +1421,7 @@ implementation
|
|||||||
uses
|
uses
|
||||||
FileInfo, winpeimagereader, elfreader, machoreader, About, data_sorting, column_selection, loaddata, editvar,
|
FileInfo, winpeimagereader, elfreader, machoreader, About, data_sorting, column_selection, loaddata, editvar,
|
||||||
copytable, csv_detector, exportgrid, usermanager, selectdbobject, reformatter, connections, sqlhelp, updatecheck,
|
copytable, csv_detector, exportgrid, usermanager, selectdbobject, reformatter, connections, sqlhelp, updatecheck,
|
||||||
insertfiles, texteditor, preferences, table_editor, view, routine_editor, trigger_editor, event_editor;
|
insertfiles, texteditor, preferences, table_editor, view, routine_editor, trigger_editor, event_editor, grideditlinks;
|
||||||
|
|
||||||
{$R *.lfm}
|
{$R *.lfm}
|
||||||
|
|
||||||
@ -10848,11 +10848,11 @@ const
|
|||||||
ForeignItemsLimit: Integer = 10000;
|
ForeignItemsLimit: Integer = 10000;
|
||||||
var
|
var
|
||||||
VT: TVirtualStringTree;
|
VT: TVirtualStringTree;
|
||||||
{HexEditor: THexEditorLink;
|
HexEditor: THexEditorLink;
|
||||||
DateTimeEditor: TDateTimeEditorLink;
|
DateTimeEditor: TDateTimeEditorLink;
|
||||||
EnumEditor: TEnumEditorLink;
|
EnumEditor: TEnumEditorLink;
|
||||||
SetEditor: TSetEditorLink;
|
SetEditor: TSetEditorLink;
|
||||||
InplaceEditor: TInplaceEditorLink;}
|
InplaceEditor: TInplaceEditorLink;
|
||||||
TypeCat: TDBDatatypeCategoryIndex;
|
TypeCat: TDBDatatypeCategoryIndex;
|
||||||
ForeignKey: TForeignKey;
|
ForeignKey: TForeignKey;
|
||||||
TblColumn: TTableColumn;
|
TblColumn: TTableColumn;
|
||||||
@ -10912,7 +10912,7 @@ begin
|
|||||||
|
|
||||||
ForeignResults := Conn.GetResults(SQL);
|
ForeignResults := Conn.GetResults(SQL);
|
||||||
if ForeignResults.RecordCount < ForeignItemsLimit then begin
|
if ForeignResults.RecordCount < ForeignItemsLimit then begin
|
||||||
{EnumEditor := TEnumEditorLink.Create(VT, AllowEdit, TblColumn);
|
EnumEditor := TEnumEditorLink.Create(VT, AllowEdit, TblColumn);
|
||||||
EditLink := EnumEditor;
|
EditLink := EnumEditor;
|
||||||
DisplayHex := (not actBlobAsText.Checked) and (ForeignResults.DataType(0).Category in [dtcBinary, dtcSpatial]);
|
DisplayHex := (not actBlobAsText.Checked) and (ForeignResults.DataType(0).Category in [dtcBinary, dtcSpatial]);
|
||||||
while not ForeignResults.Eof do begin
|
while not ForeignResults.Eof do begin
|
||||||
@ -10927,7 +10927,7 @@ begin
|
|||||||
EnumEditor.DisplayList.Add(ForeignResults.Col(0)+': '+ForeignResults.Col(1));
|
EnumEditor.DisplayList.Add(ForeignResults.Col(0)+': '+ForeignResults.Col(1));
|
||||||
end;
|
end;
|
||||||
ForeignResults.Next;
|
ForeignResults.Next;
|
||||||
end;}
|
end;
|
||||||
end else begin
|
end else begin
|
||||||
LogSQL(f_('Connected table has too many rows. Foreign key drop-down is limited to %d items.', [ForeignItemsLimit]), lcInfo);
|
LogSQL(f_('Connected table has too many rows. Foreign key drop-down is limited to %d items.', [ForeignItemsLimit]), lcInfo);
|
||||||
end;
|
end;
|
||||||
@ -10941,11 +10941,11 @@ begin
|
|||||||
|
|
||||||
FGridEditFunctionMode := FGridEditFunctionMode or Results.IsFunction(ResultCol);
|
FGridEditFunctionMode := FGridEditFunctionMode or Results.IsFunction(ResultCol);
|
||||||
if FGridEditFunctionMode then begin
|
if FGridEditFunctionMode then begin
|
||||||
{EnumEditor := TEnumEditorLink.Create(VT, AllowEdit, TblColumn);
|
EnumEditor := TEnumEditorLink.Create(VT, AllowEdit, TblColumn);
|
||||||
for SQLFunc in Conn.SQLFunctions do
|
for SQLFunc in Conn.SQLFunctions do
|
||||||
EnumEditor.ValueList.Add(SQLFunc.Name + SQLFunc.Declaration);
|
EnumEditor.ValueList.Add(SQLFunc.Name + SQLFunc.Declaration);
|
||||||
EnumEditor.AllowCustomText := True;
|
EnumEditor.AllowCustomText := True;
|
||||||
EditLink := EnumEditor;}
|
EditLink := EnumEditor;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
TypeCat := Results.DataType(ResultCol).Category;
|
TypeCat := Results.DataType(ResultCol).Category;
|
||||||
@ -10953,20 +10953,20 @@ begin
|
|||||||
if Assigned(EditLink) then
|
if Assigned(EditLink) then
|
||||||
// Editor was created above, do nothing now
|
// Editor was created above, do nothing now
|
||||||
else if (Results.DataType(ResultCol).Index in [dbdtEnum, dbdtBool]) and AppSettings.ReadBool(asFieldEditorEnum) then begin
|
else if (Results.DataType(ResultCol).Index in [dbdtEnum, dbdtBool]) and AppSettings.ReadBool(asFieldEditorEnum) then begin
|
||||||
{EnumEditor := TEnumEditorLink.Create(VT, AllowEdit, TblColumn);
|
EnumEditor := TEnumEditorLink.Create(VT, AllowEdit, TblColumn);
|
||||||
EnumEditor.ValueList := Results.ValueList(ResultCol);
|
EnumEditor.ValueList := Results.ValueList(ResultCol);
|
||||||
EditLink := EnumEditor;}
|
EditLink := EnumEditor;
|
||||||
end else if (TypeCat = dtcText) or ((TypeCat in [dtcBinary, dtcSpatial]) and actBlobAsText.Checked) then begin
|
end else if (TypeCat = dtcText) or ((TypeCat in [dtcBinary, dtcSpatial]) and actBlobAsText.Checked) then begin
|
||||||
{InplaceEditor := TInplaceEditorLink.Create(VT, AllowEdit, TblColumn);
|
InplaceEditor := TInplaceEditorLink.Create(VT, AllowEdit, TblColumn);
|
||||||
InplaceEditor.MaxLength := Results.MaxLength(ResultCol);
|
InplaceEditor.MaxLength := Results.MaxLength(ResultCol);
|
||||||
InplaceEditor.TitleText := Results.ColumnOrgNames[ResultCol];
|
InplaceEditor.TitleText := Results.ColumnOrgNames[ResultCol];
|
||||||
InplaceEditor.ButtonVisible := True;
|
InplaceEditor.ButtonVisible := True;
|
||||||
EditLink := InplaceEditor;}
|
EditLink := InplaceEditor;
|
||||||
end else if (TypeCat in [dtcBinary, dtcSpatial]) and AppSettings.ReadBool(asFieldEditorBinary) then begin
|
end else if (TypeCat in [dtcBinary, dtcSpatial]) and AppSettings.ReadBool(asFieldEditorBinary) then begin
|
||||||
{HexEditor := THexEditorLink.Create(VT, AllowEdit, TblColumn);
|
HexEditor := THexEditorLink.Create(VT, AllowEdit, TblColumn);
|
||||||
HexEditor.MaxLength := Results.MaxLength(ResultCol);
|
HexEditor.MaxLength := Results.MaxLength(ResultCol);
|
||||||
HexEditor.TitleText := Results.ColumnOrgNames[ResultCol];
|
HexEditor.TitleText := Results.ColumnOrgNames[ResultCol];
|
||||||
EditLink := HexEditor;}
|
EditLink := HexEditor;
|
||||||
end else if (TypeCat = dtcTemporal)
|
end else if (TypeCat = dtcTemporal)
|
||||||
and AppSettings.ReadBool(asFieldEditorDatetime)
|
and AppSettings.ReadBool(asFieldEditorDatetime)
|
||||||
and Assigned(TblColumn) // Editor crashes without a column object (on joins), see #1024
|
and Assigned(TblColumn) // Editor crashes without a column object (on joins), see #1024
|
||||||
@ -10988,22 +10988,22 @@ begin
|
|||||||
NowText := NowText + '.' + StringOfChar('0', MicroSecondsPrecision);
|
NowText := NowText + '.' + StringOfChar('0', MicroSecondsPrecision);
|
||||||
VT.Text[Node, Column] := NowText;
|
VT.Text[Node, Column] := NowText;
|
||||||
end;
|
end;
|
||||||
{DateTimeEditor := TDateTimeEditorLink.Create(VT, AllowEdit, TblColumn);
|
DateTimeEditor := TDateTimeEditorLink.Create(VT, AllowEdit, TblColumn);
|
||||||
EditLink := DateTimeEditor;}
|
EditLink := DateTimeEditor;
|
||||||
end else if AppSettings.ReadBool(asFieldEditorDatetime)
|
end else if AppSettings.ReadBool(asFieldEditorDatetime)
|
||||||
and HandleUnixTimestampColumn(Sender, Column)
|
and HandleUnixTimestampColumn(Sender, Column)
|
||||||
and Assigned(TblColumn) // see above
|
and Assigned(TblColumn) // see above
|
||||||
then begin
|
then begin
|
||||||
{DateTimeEditor := TDateTimeEditorLink.Create(VT, AllowEdit, TblColumn);
|
DateTimeEditor := TDateTimeEditorLink.Create(VT, AllowEdit, TblColumn);
|
||||||
EditLink := DateTimeEditor;}
|
EditLink := DateTimeEditor;
|
||||||
end else if (Results.DataType(ResultCol).Index = dbdtSet) and AppSettings.ReadBool(asFieldEditorSet) then begin
|
end else if (Results.DataType(ResultCol).Index = dbdtSet) and AppSettings.ReadBool(asFieldEditorSet) then begin
|
||||||
{SetEditor := TSetEditorLink.Create(VT, AllowEdit, TblColumn);
|
SetEditor := TSetEditorLink.Create(VT, AllowEdit, TblColumn);
|
||||||
SetEditor.ValueList := Results.ValueList(ResultCol);
|
SetEditor.ValueList := Results.ValueList(ResultCol);
|
||||||
EditLink := SetEditor;}
|
EditLink := SetEditor;
|
||||||
end else begin
|
end else begin
|
||||||
{InplaceEditor := TInplaceEditorLink.Create(VT, AllowEdit, TblColumn);
|
InplaceEditor := TInplaceEditorLink.Create(VT, AllowEdit, TblColumn);
|
||||||
InplaceEditor.ButtonVisible := False;
|
InplaceEditor.ButtonVisible := False;
|
||||||
EditLink := InplaceEditor;}
|
EditLink := InplaceEditor;
|
||||||
end;
|
end;
|
||||||
Sender.FocusedNode := Node;
|
Sender.FocusedNode := Node;
|
||||||
Sender.FocusedColumn := Column;
|
Sender.FocusedColumn := Column;
|
||||||
@ -14541,13 +14541,13 @@ end;
|
|||||||
procedure TMainForm.treeQueryHelpersCreateEditor(Sender: TBaseVirtualTree;
|
procedure TMainForm.treeQueryHelpersCreateEditor(Sender: TBaseVirtualTree;
|
||||||
Node: PVirtualNode; Column: TColumnIndex; out EditLink: IVTEditLink);
|
Node: PVirtualNode; Column: TColumnIndex; out EditLink: IVTEditLink);
|
||||||
var
|
var
|
||||||
//InplaceEditor: TInplaceEditorLink;
|
InplaceEditor: TInplaceEditorLink;
|
||||||
VT: TVirtualStringTree;
|
VT: TVirtualStringTree;
|
||||||
begin
|
begin
|
||||||
VT := Sender as TVirtualStringTree;
|
VT := Sender as TVirtualStringTree;
|
||||||
//InplaceEditor := TInplaceEditorLink.Create(VT, True, nil);
|
InplaceEditor := TInplaceEditorLink.Create(VT, True, nil);
|
||||||
//InplaceEditor.ButtonVisible := true;
|
InplaceEditor.ButtonVisible := true;
|
||||||
//EditLink := InplaceEditor;
|
EditLink := InplaceEditor;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
||||||
|
@ -96,7 +96,7 @@ type
|
|||||||
|
|
||||||
implementation
|
implementation
|
||||||
|
|
||||||
uses main, dbstructures, dbstructures.mysql;
|
uses main, dbstructures, dbstructures.mysql, grideditlinks;
|
||||||
|
|
||||||
{$R *.lfm}
|
{$R *.lfm}
|
||||||
|
|
||||||
@ -389,14 +389,14 @@ procedure TfrmRoutineEditor.listParametersCreateEditor(Sender: TBaseVirtualTree;
|
|||||||
Node: PVirtualNode; Column: TColumnIndex; out EditLink: IVTEditLink);
|
Node: PVirtualNode; Column: TColumnIndex; out EditLink: IVTEditLink);
|
||||||
var
|
var
|
||||||
VT: TLazVirtualStringTree;
|
VT: TLazVirtualStringTree;
|
||||||
//EnumEditor: TEnumEditorLink;
|
EnumEditor: TEnumEditorLink;
|
||||||
Datatype: String;
|
Datatype: String;
|
||||||
DBDatatype: TDBDatatype;
|
DBDatatype: TDBDatatype;
|
||||||
begin
|
begin
|
||||||
VT := Sender as TLazVirtualStringTree;
|
VT := Sender as TLazVirtualStringTree;
|
||||||
if Column = 1 then
|
if Column = 1 then
|
||||||
EditLink := TStringEditLink.Create
|
EditLink := TStringEditLink.Create
|
||||||
{else if Column = 2 then begin
|
else if Column = 2 then begin
|
||||||
EnumEditor := TEnumEditorLink.Create(VT, True, nil);
|
EnumEditor := TEnumEditorLink.Create(VT, True, nil);
|
||||||
EnumEditor.AllowCustomText := True;
|
EnumEditor.AllowCustomText := True;
|
||||||
EnumEditor.ValueList := TStringList.Create;
|
EnumEditor.ValueList := TStringList.Create;
|
||||||
@ -414,7 +414,7 @@ begin
|
|||||||
EnumEditor.ValueList.Add('OUT');
|
EnumEditor.ValueList.Add('OUT');
|
||||||
EnumEditor.ValueList.Add('INOUT');
|
EnumEditor.ValueList.Add('INOUT');
|
||||||
EditLink := EnumEditor;
|
EditLink := EnumEditor;
|
||||||
end;}
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
||||||
|
@ -254,7 +254,7 @@ type
|
|||||||
|
|
||||||
implementation
|
implementation
|
||||||
|
|
||||||
uses main;
|
uses main, grideditlinks;
|
||||||
|
|
||||||
|
|
||||||
{$R *.lfm}
|
{$R *.lfm}
|
||||||
@ -1730,56 +1730,56 @@ procedure TfrmTableEditor.listColumnsCreateEditor(Sender: TBaseVirtualTree;
|
|||||||
Node: PVirtualNode; Column: TColumnIndex; out EditLink: IVTEditLink);
|
Node: PVirtualNode; Column: TColumnIndex; out EditLink: IVTEditLink);
|
||||||
var
|
var
|
||||||
VT: TLazVirtualStringTree;
|
VT: TLazVirtualStringTree;
|
||||||
//EnumEditor: TEnumEditorLink;
|
EnumEditor: TEnumEditorLink;
|
||||||
//DefaultEditor: TColumnDefaultEditorLink;
|
DefaultEditor: TColumnDefaultEditorLink;
|
||||||
//DatatypeEditor: TDatatypeEditorLink;
|
DatatypeEditor: TDatatypeEditorLink;
|
||||||
Col: PTableColumn;
|
Col: PTableColumn;
|
||||||
//Edit: TInplaceEditorLink;
|
Edit: TInplaceEditorLink;
|
||||||
begin
|
begin
|
||||||
// Start cell editor
|
// Start cell editor
|
||||||
VT := Sender as TLazVirtualStringTree;
|
VT := Sender as TLazVirtualStringTree;
|
||||||
Col := Sender.GetNodeData(Node);
|
Col := Sender.GetNodeData(Node);
|
||||||
case Column of
|
case Column of
|
||||||
ColNumDatatype: begin // Datatype pulldown
|
ColNumDatatype: begin // Datatype pulldown
|
||||||
{DatatypeEditor := TDatatypeEditorLink.Create(VT, True, Col^);
|
DatatypeEditor := TDatatypeEditorLink.Create(VT, True, Col^);
|
||||||
EditLink := DataTypeEditor;}
|
EditLink := DataTypeEditor;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
ColNumCollation: begin // Collation pulldown
|
ColNumCollation: begin // Collation pulldown
|
||||||
{EnumEditor := TEnumEditorLink.Create(VT, True, Col^);
|
EnumEditor := TEnumEditorLink.Create(VT, True, Col^);
|
||||||
EnumEditor.AllowCustomText := True;
|
EnumEditor.AllowCustomText := True;
|
||||||
EnumEditor.ItemMustExist := True;
|
EnumEditor.ItemMustExist := True;
|
||||||
EnumEditor.ValueList := TStringList.Create;
|
EnumEditor.ValueList := TStringList.Create;
|
||||||
EnumEditor.ValueList.Text := DBObject.Connection.CollationList.Text;
|
EnumEditor.ValueList.Text := DBObject.Connection.CollationList.Text;
|
||||||
EnumEditor.ValueList.Sort;
|
EnumEditor.ValueList.Sort;
|
||||||
EnumEditor.ValueList.Insert(0, '');
|
EnumEditor.ValueList.Insert(0, '');
|
||||||
EditLink := EnumEditor;}
|
EditLink := EnumEditor;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
ColNumDefault: begin
|
ColNumDefault: begin
|
||||||
{DefaultEditor := TColumnDefaultEditorLink.Create(VT, True, Col^);
|
DefaultEditor := TColumnDefaultEditorLink.Create(VT, True, Col^);
|
||||||
DefaultEditor.DefaultType := Col.DefaultType;
|
DefaultEditor.DefaultType := Col.DefaultType;
|
||||||
DefaultEditor.DefaultText := Col.DefaultText;
|
DefaultEditor.DefaultText := Col.DefaultText;
|
||||||
DefaultEditor.OnUpdateType := Col.OnUpdateType;
|
DefaultEditor.OnUpdateType := Col.OnUpdateType;
|
||||||
DefaultEditor.OnUpdateText := Col.OnUpdateText;
|
DefaultEditor.OnUpdateText := Col.OnUpdateText;
|
||||||
EditLink := DefaultEditor;}
|
EditLink := DefaultEditor;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
ColNumVirtuality: begin // Virtuality pulldown
|
ColNumVirtuality: begin // Virtuality pulldown
|
||||||
{EnumEditor := TEnumEditorLink.Create(VT, True, Col^);
|
EnumEditor := TEnumEditorLink.Create(VT, True, Col^);
|
||||||
EnumEditor.ValueList := TStringList.Create;
|
EnumEditor.ValueList := TStringList.Create;
|
||||||
if DBObject.Connection.Parameters.IsMariaDB then
|
if DBObject.Connection.Parameters.IsMariaDB then
|
||||||
EnumEditor.ValueList.CommaText := ',VIRTUAL,PERSISTENT'
|
EnumEditor.ValueList.CommaText := ',VIRTUAL,PERSISTENT'
|
||||||
else
|
else
|
||||||
EnumEditor.ValueList.CommaText := ',VIRTUAL,STORED';
|
EnumEditor.ValueList.CommaText := ',VIRTUAL,STORED';
|
||||||
EditLink := EnumEditor;}
|
EditLink := EnumEditor;
|
||||||
end
|
end
|
||||||
|
|
||||||
else begin
|
else begin
|
||||||
{Edit := TInplaceEditorLink.Create(VT, True, Col^);
|
Edit := TInplaceEditorLink.Create(VT, True, Col^);
|
||||||
Edit.TitleText := VT.Header.Columns[Column].Text;
|
Edit.TitleText := VT.Header.Columns[Column].Text;
|
||||||
Edit.ButtonVisible := True;
|
Edit.ButtonVisible := True;
|
||||||
EditLink := Edit;}
|
EditLink := Edit;
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
@ -2128,25 +2128,25 @@ procedure TfrmTableEditor.listCheckConstraintsCreateEditor(
|
|||||||
out EditLink: IVTEditLink);
|
out EditLink: IVTEditLink);
|
||||||
var
|
var
|
||||||
VT: TLazVirtualStringTree;
|
VT: TLazVirtualStringTree;
|
||||||
//Edit: TInplaceEditorLink;
|
Edit: TInplaceEditorLink;
|
||||||
//EnumEditor: TEnumEditorLink;
|
EnumEditor: TEnumEditorLink;
|
||||||
SQLFunc: TSQLFunction;
|
SQLFunc: TSQLFunction;
|
||||||
begin
|
begin
|
||||||
// Edit check constraint
|
// Edit check constraint
|
||||||
VT := Sender as TLazVirtualStringTree;
|
VT := Sender as TLazVirtualStringTree;
|
||||||
case Column of
|
case Column of
|
||||||
0: begin
|
0: begin
|
||||||
{Edit := TInplaceEditorLink.Create(VT, True, nil);
|
Edit := TInplaceEditorLink.Create(VT, True, nil);
|
||||||
Edit.TitleText := VT.Header.Columns[Column].Text;
|
Edit.TitleText := VT.Header.Columns[Column].Text;
|
||||||
Edit.ButtonVisible := True;
|
Edit.ButtonVisible := True;
|
||||||
EditLink := Edit;}
|
EditLink := Edit;
|
||||||
end;
|
end;
|
||||||
1: begin
|
1: begin
|
||||||
{EnumEditor := TEnumEditorLink.Create(VT, True, nil);
|
EnumEditor := TEnumEditorLink.Create(VT, True, nil);
|
||||||
for SQLFunc in DBObject.Connection.SQLFunctions do
|
for SQLFunc in DBObject.Connection.SQLFunctions do
|
||||||
EnumEditor.ValueList.Add(SQLFunc.Name + SQLFunc.Declaration);
|
EnumEditor.ValueList.Add(SQLFunc.Name + SQLFunc.Declaration);
|
||||||
EnumEditor.AllowCustomText := True;
|
EnumEditor.AllowCustomText := True;
|
||||||
EditLink := EnumEditor;}
|
EditLink := EnumEditor;
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
@ -2242,7 +2242,7 @@ procedure TfrmTableEditor.treeIndexesCreateEditor(Sender: TBaseVirtualTree;
|
|||||||
Node: PVirtualNode; Column: TColumnIndex; out EditLink: IVTEditLink);
|
Node: PVirtualNode; Column: TColumnIndex; out EditLink: IVTEditLink);
|
||||||
var
|
var
|
||||||
VT: TLazVirtualStringTree;
|
VT: TLazVirtualStringTree;
|
||||||
//EnumEditor: TEnumEditorLink;
|
EnumEditor: TEnumEditorLink;
|
||||||
Level: Cardinal;
|
Level: Cardinal;
|
||||||
ColNode: PVirtualNode;
|
ColNode: PVirtualNode;
|
||||||
Col: PTableColumn;
|
Col: PTableColumn;
|
||||||
@ -2250,7 +2250,7 @@ begin
|
|||||||
// Start cell editor
|
// Start cell editor
|
||||||
VT := Sender as TLazVirtualStringTree;
|
VT := Sender as TLazVirtualStringTree;
|
||||||
Level := (Sender as TLazVirtualStringTree).GetNodeLevel(Node);
|
Level := (Sender as TLazVirtualStringTree).GetNodeLevel(Node);
|
||||||
{if (Level = 0) and (Column = 1) then begin
|
if (Level = 0) and (Column = 1) then begin
|
||||||
// Index type pulldown
|
// Index type pulldown
|
||||||
EnumEditor := TEnumEditorLink.Create(VT, True, nil);
|
EnumEditor := TEnumEditorLink.Create(VT, True, nil);
|
||||||
EnumEditor.ValueList := TStringList.Create;
|
EnumEditor.ValueList := TStringList.Create;
|
||||||
@ -2277,7 +2277,7 @@ begin
|
|||||||
EnumEditor.ValueList := Explode(',', ',ASC,DESC');
|
EnumEditor.ValueList := Explode(',', ',ASC,DESC');
|
||||||
EditLink := EnumEditor;
|
EditLink := EnumEditor;
|
||||||
end else
|
end else
|
||||||
EditLink := TInplaceEditorLink.Create(VT, True, nil);}
|
EditLink := TInplaceEditorLink.Create(VT, True, nil);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
||||||
@ -2807,8 +2807,8 @@ procedure TfrmTableEditor.listForeignKeysCreateEditor(
|
|||||||
out EditLink: IVTEditLink);
|
out EditLink: IVTEditLink);
|
||||||
var
|
var
|
||||||
VT: TLazVirtualStringTree;
|
VT: TLazVirtualStringTree;
|
||||||
//EnumEditor: TEnumEditorLink;
|
EnumEditor: TEnumEditorLink;
|
||||||
//SetEditor: TSetEditorLink;
|
SetEditor: TSetEditorLink;
|
||||||
DBObjects: TDBObjectList;
|
DBObjects: TDBObjectList;
|
||||||
Key: TForeignKey;
|
Key: TForeignKey;
|
||||||
ColNode: PVirtualNode;
|
ColNode: PVirtualNode;
|
||||||
@ -2819,7 +2819,7 @@ var
|
|||||||
begin
|
begin
|
||||||
// Init grid editor in foreign key list
|
// Init grid editor in foreign key list
|
||||||
VT := Sender as TLazVirtualStringTree;
|
VT := Sender as TLazVirtualStringTree;
|
||||||
{case Column of
|
case Column of
|
||||||
0: EditLink := TInplaceEditorLink.Create(VT, True, nil);
|
0: EditLink := TInplaceEditorLink.Create(VT, True, nil);
|
||||||
1: begin
|
1: begin
|
||||||
SetEditor := TSetEditorLink.Create(VT, True, nil);
|
SetEditor := TSetEditorLink.Create(VT, True, nil);
|
||||||
@ -2858,7 +2858,7 @@ begin
|
|||||||
EnumEditor.ValueList := Explode(',', DBObject.Connection.GetSQLSpecifity(spForeignKeyEventAction));
|
EnumEditor.ValueList := Explode(',', DBObject.Connection.GetSQLSpecifity(spForeignKeyEventAction));
|
||||||
EditLink := EnumEditor;
|
EditLink := EnumEditor;
|
||||||
end;
|
end;
|
||||||
end;}
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user