ViewVC Help
View File | Revision Log | Show Annotations | Download File | View Changeset | Root Listing
root/public/ibx/trunk/design/IBDBReg.pas
(Generate patch)

Comparing ibx/trunk/design/IBDBReg.pas (file contents):
Revision 33 by tony, Sat Jul 18 12:30:52 2015 UTC vs.
Revision 106 by tony, Thu Jan 18 14:37:35 2018 UTC

# Line 39 | Line 39 | unit IBDBReg;
39   *)
40   {$A+}                           (* Aligned records: On *)
41   {$B-}                           (* Short circuit boolean expressions: Off *)
42 {$G+}                           (* Imported data: On *)
42   {$H+}                           (* Huge Strings: On *)
43   {$J-}                           (* Modification of Typed Constants: Off *)
44   {$M+}                           (* Generate run-time type information: On *)
# Line 47 | Line 46 | unit IBDBReg;
46   {$Q-}                           (* Overflow checks: Off *)
47   {$R-}                           (* Range checks: Off *)
48   {$T+}                           (* Typed address: On *)
50 {$U+}                           (* Pentim-safe FDIVs: On *)
49   {$W-}                           (* Always generate stack frames: Off *)
50   {$X+}                           (* Extended syntax: On *)
51   {$Z1}                           (* Minimum Enumeration Size: 1 Byte *)
# Line 56 | Line 54 | interface
54  
55   uses SysUtils, Classes, Graphics, Dialogs, Controls, Forms, TypInfo,
56       DB, IBTable, IBDatabase,  IBEventsEditor,  LazarusPackageIntf,
57 <      IBUpdateSQL, IBXConst, ComponentEditors, PropEdits, DBPropEdits, FieldsEditor,
57 >      IBUpdateSQL, IBUpdate, ComponentEditors, PropEdits, DBPropEdits, FieldsEditor,
58       dbFieldLinkPropEditor, dbFieldListPropEditor, IBDialogs;
59  
60   type
# Line 134 | Line 132 | type
132      function GetVerbCount: Integer; override;
133    end;
134  
135 +  { TIBArrayGridEditor }
136 +
137 +  TIBArrayGridEditor = class(TComponentEditor)
138 +  public
139 +    procedure ExecuteVerb(Index: Integer); override;
140 +    function GetVerb(Index: Integer): string; override;
141 +    function GetVerbCount: Integer; override;
142 +  end;
143 +
144   { TIBQueryEditor }
145  
146    TIBQueryEditor = class(TFieldsComponentEditor)
# Line 355 | Line 362 | type
362      procedure SetIndexFieldNames(const Value: string); override;
363    end;
364  
365 +  { TIBFieldDefsProperty }
366 +
367 +  TIBFieldDefsProperty = class(TCollectionPropertyEditor)
368 +  public
369 +    procedure Edit; override;
370 +  end;
371 +
372 +  { TIBIndexDefsProperty }
373 +
374 +  TIBIndexDefsProperty = class(TCollectionPropertyEditor)
375 +  public
376 +    procedure Edit; override;
377 +  end;
378  
379  
380   procedure Register;
381  
382   implementation
383  
384 < uses IB, IBQuery, IBStoredProc, IBCustomDataSet,
385 <     IBIntf, IBSQL, IBSQLMonitor, IBDatabaseInfo, IBEvents,
384 > uses IB, IBQuery, IBStoredProc, IBCustomDataSet, FBMessages,
385 >     IBSQL, IBSQLMonitor, IBDatabaseInfo, IBEvents, IBTypes,
386       IBServices, IBDatabaseEdit, IBTransactionEdit,
387       IBBatchMove, IBExtract,LResources, IBSelectSQLEditor,
388       IBModifySQLEditor,IBDeleteSQLEditor,IBRefreshSQLEditor,
389       IBInsertSQLEditor, IBGeneratorEditor, IBUpdateSQLEditor, IBDataSetEditor,
390       IBSQLEditor, ibserviceeditor, LCLVersion, IBDynamicGrid, IBLookupComboEditBox,
391 <     IBTreeView, DBControlGrid;
392 <
391 >     IBTreeView, DBControlGrid, ibxscript, IBLocalDBSupport, IBDSDialogs,
392 >     IBArrayGrid, IBVersion, IBDataOutput;
393  
394 + const
395 +  IBPalette1 = 'Firebird'; {do not localize}
396 +  IBPalette2 = 'Firebird Admin'; {do not localize}
397 +  IBPalette3 = 'Firebird Data Controls';   {do not localize}
398 +  
399 + resourcestring
400 +   SInterbaseExpressVersion = 'Firebird Express for Lazarus ' + IBX_VERSION;
401 +   SEditSQL = 'Edit SQL';
402 +   SIBSQLEditor = 'IBSQL Editor';
403 +   SIBServiceEditor = 'Edit IB Service';
404 +   SIBUpdateSQLEditor = '&UpdateSQL Editor...';
405 +   SIBDataSetEditor = '&Dataset Editor...';
406 +   SExecute = 'E&xecute';
407 +   SIBDatabaseEditor = 'Da&tabase Editor...';
408 +   SIBTransactionEditor = '&Transaction Editor...';
409 +   SIBUpdateLayout = 'Update Layout';
410  
411   procedure Register;
412   begin
# Line 380 | Line 416 | begin
416      Exit;
417    end;
418  
419 <  RegisterNoIcon([TIBStringField, TIBBCDField]);
419 >  RegisterNoIcon([TIBStringField, TIBBCDField, TIBMemoField, TIBArrayField,
420 >    TIBSmallintField, TIBIntegerField, TIBLargeIntField]);
421    {$if lcl_fullversion < 01010000}
422    {see http://bugs.freepascal.org/view.php?id=19035 }
423    RegisterNoIcon([TIntegerField]);
424    {$endif}
425    RegisterComponents(IBPalette1, [ TIBQuery, TIBDataSet,
426 <   TIBDatabase, TIBTransaction, TIBUpdateSQL, TIBEvents,
426 >   TIBDatabase, TIBTransaction, TIBUpdateSQL, TIBUpdate, TIBEvents,
427       TIBSQL, TIBDatabaseInfo, TIBSQLMonitor,
428 <       TIBStoredProc,TIBBatchMove,  TIBTable,TIBExtract]);
429 <  if IBServiceAPIPresent  then
428 >       TIBStoredProc,TIBBatchMove,  TIBTable,TIBExtract, TIBXScript, TIBLocalDBSupport,
429 >       TIBBlockFormatOut,TIBCSVDataOut,TIBInsertStmtsOut]);
430 >  if FirebirdAPI.HasServiceAPI  then
431      RegisterComponents(IBPalette2, [TIBConfigService, TIBBackupService,
432        TIBRestoreService, TIBValidationService, TIBStatisticalService,
433        TIBLogService, TIBSecurityService, TIBServerProperties]);
434  
435  
436 <  RegisterComponents(IBPalette3,[TIBLookupComboEditBox,TIBDynamicGrid,TIBTreeView,TDBControlGrid]);
436 >  RegisterComponents(IBPalette3,[TIBLookupComboEditBox,TIBDynamicGrid,TIBTreeView,TDBControlGrid, TIBArrayGrid]);
437    RegisterPropertyEditor(TypeInfo(TIBFileName), TIBDatabase, 'DatabaseName', TIBFileNameProperty); {do not localize}
438    RegisterPropertyEditor(TypeInfo(string), TIBStoredProc, 'StoredProcName', TIBStoredProcNameProperty); {do not localize}
439    RegisterPropertyEditor(TypeInfo(TParams), TIBStoredProc, 'Params', TIBStoredProcParamsProperty);
# Line 403 | Line 441 | begin
441    RegisterPropertyEditor(TypeInfo(string), TIBTable, 'IndexName', TIBIndexNameProperty); {do not localize}
442    RegisterPropertyEditor(TypeInfo(string), TIBTable, 'IndexFieldNames', TIBIndexFieldNamesProperty); {do not localize}
443    RegisterPropertyEditor(TypeInfo(string), TIBTable, 'MasterFields', TIBTableFieldLinkProperty); {do not localize}
444 +  RegisterPropertyEditor(TypeInfo(TFieldDefs), TIBTable, 'FieldDefs', TIBFieldDefsProperty); {do not localize}
445 +  RegisterPropertyEditor(TypeInfo(TIndexDefs), TIBTable, 'IndexDefs', TIBIndexDefsProperty); {do not localize}
446    RegisterPropertyEditor(TypeInfo(TStrings), TIBQuery, 'SQL', TIBQuerySQLProperty); {do not localize}
447    RegisterPropertyEditor(TypeInfo(TStrings), TIBDataSet, 'SelectSQL', TIBDatasetSQLProperty); {do not localize}
448    RegisterPropertyEditor(TypeInfo(TStrings), TIBDataSet, 'ModifySQL', TIBUpdateSQLProperty); {do not localize}
# Line 426 | Line 466 | begin
466    RegisterComponentEditor(TIBStoredProc, TIBStoredProcEditor);
467    RegisterComponentEditor(TIBSQL, TIBSQLEditor);
468    RegisterComponentEditor(TIBCustomService, TIBServiceEditor);
469 +  RegisterComponentEditor(TIBArrayGrid, TIBArrayGridEditor);
470  
471  
472    {Firebird Data Access Controls}
# Line 438 | Line 479 | begin
479    RegisterPropertyEditor(TypeInfo(string), TIBTreeView, 'ParentField', TIBTreeViewFieldProperty);
480    RegisterPropertyEditor(TypeInfo(string), TIBTreeView, 'HasChildField', TIBTreeViewFieldProperty);
481  
482 +  IBGUIInterface :=  TIBDSLCLInterface.Create;
483   end;
484  
485   procedure LoadDataSourceFields(DataSource: TDataSource; List: TStrings);
# Line 462 | Line 504 | begin
504    end;
505   end;
506  
507 + { TIBIndexDefsProperty }
508 +
509 + procedure TIBIndexDefsProperty.Edit;
510 + var IndexDefs: TIndexDefs;
511 + begin
512 +  IndexDefs := TIndexDefs(GetObjectValue);
513 +  if IndexDefs <> nil then
514 +    IndexDefs.Update;
515 +  inherited Edit;
516 + end;
517 +
518 + { TIBFieldDefsProperty }
519 +
520 + procedure TIBFieldDefsProperty.Edit;
521 + var FieldDefs: TFieldDefs;
522 + begin
523 +  FieldDefs := TFieldDefs(GetObjectValue);
524 +  if FieldDefs <> nil then
525 +    FieldDefs.Update;
526 +  inherited Edit;
527 + end;
528 +
529 + { TIBArrayGridEditor }
530 +
531 + procedure TIBArrayGridEditor.ExecuteVerb(Index: Integer);
532 + begin
533 +  if Index < inherited GetVerbCount then
534 +    inherited ExecuteVerb(Index)
535 +  else
536 +  case Index of
537 +    0: TIBArrayGrid(Component).UpdateLayout;
538 +  end;
539 + end;
540 +
541 + function TIBArrayGridEditor.GetVerb(Index: Integer): string;
542 + begin
543 +  if Index < inherited GetVerbCount then
544 +    Result := inherited GetVerb(Index) else
545 +  begin
546 +    Dec(Index, inherited GetVerbCount);
547 +    case Index of
548 +      0: Result := SIBUpdateLayout;
549 +      1 : Result := SInterbaseExpressVersion ;
550 +    end;
551 +  end;
552 + end;
553 +
554 + function TIBArrayGridEditor.GetVerbCount: Integer;
555 + begin
556 +  Result := 2;
557 + end;
558 +
559   { TDBLookupPropertiesGridFieldProperty }
560  
561   procedure TDBLookupPropertiesGridFieldProperty.FillValues(
# Line 742 | Line 836 | var
836    IBSQL: TIBSQL;
837   begin
838    IBSQL := GetComponent(0) as TIBSQL;
839 <  if IBSQLEditor.EditIBSQL(IBSQL) then Modified;
839 >  if IBSQLEditor.EditSQL(IBSQL) then Modified;
840   end;
841  
842   { TIBUpdateSQLEditor }
# Line 756 | Line 850 | function TIBUpdateSQLEditor.GetVerb(Inde
850   begin
851    case Index of
852      0 : Result := SIBUpdateSQLEditor;
853 <    1: Result := SInterbaseExpressVersion;
853 >    1: Result := SInterbaseExpressVersion ;
854    end;
855   end;
856  
# Line 768 | Line 862 | end;
862   { TIBDataSetEditor }
863  
864   procedure TIBDataSetEditor.ExecuteVerb(Index: Integer);
771 var
772  IBDataset: TIBDataset;
865   begin
866    if Index < inherited GetVerbCount then
867      inherited ExecuteVerb(Index) else
# Line 793 | Line 885 | begin
885      case Index of
886        0: Result := SIBDataSetEditor;
887        1: Result := SExecute;
888 <      2: Result := SInterbaseExpressVersion;
888 >      2: Result := SInterbaseExpressVersion ;
889      end;
890    end;
891   end;
# Line 850 | Line 942 | begin
942      Dec(Index, inherited GetVerbCount);
943      case Index of
944        0: Result := SIBDatabaseEditor;
945 <      1 : Result := SInterbaseExpressVersion;
945 >      1 : Result := SInterbaseExpressVersion ;
946      end;
947    end;
948   end;
# Line 873 | Line 965 | function TIBTransactionEditor.GetVerb(In
965   begin
966    case Index of
967      0: Result := SIBTransactionEditor;
968 <    1: Result := SInterbaseExpressVersion;
968 >    1: Result := SInterbaseExpressVersion ;
969    end;
970   end;
971  
# Line 909 | Line 1001 | begin
1001      case Index of
1002        0: Result := SExecute;
1003        1: Result := SEditSQL;
1004 <      2: Result := SInterbaseExpressVersion;
1004 >      2: Result := SInterbaseExpressVersion ;
1005      end;
1006    end;
1007   end;
# Line 939 | Line 1031 | begin
1031      Dec(Index, inherited GetVerbCount);
1032      case Index of
1033        0: Result := SExecute;
1034 <      1: Result := SInterbaseExpressVersion;
1034 >      1: Result := SInterbaseExpressVersion ;
1035      end;
1036    end;
1037   end;
# Line 1024 | Line 1116 | end;
1116   procedure TIBRefreshSQLProperty.Edit;
1117   var
1118    IBDataset: TIBDataset;
1027  aDatabase: TIBDatabase;
1119   begin
1120    IBDataset := GetComponent(0) as TIBDataset;
1121    if IBRefreshSQLEditor.EditSQL(IBDataSet,IBDataSet.RefreshSQL) then Modified;
# Line 1111 | Line 1202 | end;
1202  
1203   procedure TIBSQLEditor.ExecuteVerb(Index: Integer);
1204   begin
1205 <  if IBSQLEditor.EditIBSQL(TIBSQL(Component)) then Modified;
1205 >  if IBSQLEditor.EditSQL(TIBSQL(Component)) then Modified;
1206   end;
1207  
1208   function TIBSQLEditor.GetVerb(Index: Integer): string;
1209   begin
1210    case Index of
1211      0 : Result := SIBSQLEditor;
1212 <    1: Result := SInterbaseExpressVersion;
1212 >    1: Result := SInterbaseExpressVersion ;
1213    end;
1214   end;
1215  
# Line 1134 | Line 1225 | var
1225    IBSQL: TIBSQL;
1226   begin
1227    IBSQL := GetComponent(0) as TIBSQL;
1228 <  if IBSQLEditor.EditIBSQL(IBSQL) then Modified;
1228 >  if IBSQLEditor.EditSQL(IBSQL) then Modified;
1229   end;
1230  
1231   initialization

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines