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 45 by tony, Tue Dec 6 10:33:46 2016 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, 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;
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 2.0.0';
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    {$if lcl_fullversion < 01010000}
421    {see http://bugs.freepascal.org/view.php?id=19035 }
422    RegisterNoIcon([TIntegerField]);
# Line 388 | Line 424 | begin
424    RegisterComponents(IBPalette1, [ TIBQuery, TIBDataSet,
425     TIBDatabase, TIBTransaction, TIBUpdateSQL, TIBEvents,
426       TIBSQL, TIBDatabaseInfo, TIBSQLMonitor,
427 <       TIBStoredProc,TIBBatchMove,  TIBTable,TIBExtract]);
428 <  if IBServiceAPIPresent  then
427 >       TIBStoredProc,TIBBatchMove,  TIBTable,TIBExtract, TIBXScript, TIBLocalDBSupport]);
428 >  if FirebirdAPI.HasServiceAPI  then
429      RegisterComponents(IBPalette2, [TIBConfigService, TIBBackupService,
430        TIBRestoreService, TIBValidationService, TIBStatisticalService,
431        TIBLogService, TIBSecurityService, TIBServerProperties]);
432  
433  
434 <  RegisterComponents(IBPalette3,[TIBLookupComboEditBox,TIBDynamicGrid,TIBTreeView,TDBControlGrid]);
434 >  RegisterComponents(IBPalette3,[TIBLookupComboEditBox,TIBDynamicGrid,TIBTreeView,TDBControlGrid, TIBArrayGrid]);
435    RegisterPropertyEditor(TypeInfo(TIBFileName), TIBDatabase, 'DatabaseName', TIBFileNameProperty); {do not localize}
436    RegisterPropertyEditor(TypeInfo(string), TIBStoredProc, 'StoredProcName', TIBStoredProcNameProperty); {do not localize}
437    RegisterPropertyEditor(TypeInfo(TParams), TIBStoredProc, 'Params', TIBStoredProcParamsProperty);
# Line 403 | Line 439 | begin
439    RegisterPropertyEditor(TypeInfo(string), TIBTable, 'IndexName', TIBIndexNameProperty); {do not localize}
440    RegisterPropertyEditor(TypeInfo(string), TIBTable, 'IndexFieldNames', TIBIndexFieldNamesProperty); {do not localize}
441    RegisterPropertyEditor(TypeInfo(string), TIBTable, 'MasterFields', TIBTableFieldLinkProperty); {do not localize}
442 +  RegisterPropertyEditor(TypeInfo(TFieldDefs), TIBTable, 'FieldDefs', TIBFieldDefsProperty); {do not localize}
443 +  RegisterPropertyEditor(TypeInfo(TIndexDefs), TIBTable, 'IndexDefs', TIBIndexDefsProperty); {do not localize}
444    RegisterPropertyEditor(TypeInfo(TStrings), TIBQuery, 'SQL', TIBQuerySQLProperty); {do not localize}
445    RegisterPropertyEditor(TypeInfo(TStrings), TIBDataSet, 'SelectSQL', TIBDatasetSQLProperty); {do not localize}
446    RegisterPropertyEditor(TypeInfo(TStrings), TIBDataSet, 'ModifySQL', TIBUpdateSQLProperty); {do not localize}
# Line 426 | Line 464 | begin
464    RegisterComponentEditor(TIBStoredProc, TIBStoredProcEditor);
465    RegisterComponentEditor(TIBSQL, TIBSQLEditor);
466    RegisterComponentEditor(TIBCustomService, TIBServiceEditor);
467 +  RegisterComponentEditor(TIBArrayGrid, TIBArrayGridEditor);
468  
469  
470    {Firebird Data Access Controls}
# Line 438 | Line 477 | begin
477    RegisterPropertyEditor(TypeInfo(string), TIBTreeView, 'ParentField', TIBTreeViewFieldProperty);
478    RegisterPropertyEditor(TypeInfo(string), TIBTreeView, 'HasChildField', TIBTreeViewFieldProperty);
479  
480 +  IBGUIInterface :=  TIBDSLCLInterface.Create;
481   end;
482  
483   procedure LoadDataSourceFields(DataSource: TDataSource; List: TStrings);
# Line 462 | Line 502 | begin
502    end;
503   end;
504  
505 + { TIBIndexDefsProperty }
506 +
507 + procedure TIBIndexDefsProperty.Edit;
508 + var IndexDefs: TIndexDefs;
509 + begin
510 +  IndexDefs := TIndexDefs(GetObjectValue);
511 +  if IndexDefs <> nil then
512 +    IndexDefs.Update;
513 +  inherited Edit;
514 + end;
515 +
516 + { TIBFieldDefsProperty }
517 +
518 + procedure TIBFieldDefsProperty.Edit;
519 + var FieldDefs: TFieldDefs;
520 + begin
521 +  FieldDefs := TFieldDefs(GetObjectValue);
522 +  if FieldDefs <> nil then
523 +    FieldDefs.Update;
524 +  inherited Edit;
525 + end;
526 +
527 + { TIBArrayGridEditor }
528 +
529 + procedure TIBArrayGridEditor.ExecuteVerb(Index: Integer);
530 + begin
531 +  if Index < inherited GetVerbCount then
532 +    inherited ExecuteVerb(Index)
533 +  else
534 +  case Index of
535 +    0: TIBArrayGrid(Component).UpdateLayout;
536 +  end;
537 + end;
538 +
539 + function TIBArrayGridEditor.GetVerb(Index: Integer): string;
540 + begin
541 +  if Index < inherited GetVerbCount then
542 +    Result := inherited GetVerb(Index) else
543 +  begin
544 +    Dec(Index, inherited GetVerbCount);
545 +    case Index of
546 +      0: Result := SIBUpdateLayout;
547 +      1 : Result := SInterbaseExpressVersion ;
548 +    end;
549 +  end;
550 + end;
551 +
552 + function TIBArrayGridEditor.GetVerbCount: Integer;
553 + begin
554 +  Result := 2;
555 + end;
556 +
557   { TDBLookupPropertiesGridFieldProperty }
558  
559   procedure TDBLookupPropertiesGridFieldProperty.FillValues(
# Line 756 | Line 848 | function TIBUpdateSQLEditor.GetVerb(Inde
848   begin
849    case Index of
850      0 : Result := SIBUpdateSQLEditor;
851 <    1: Result := SInterbaseExpressVersion;
851 >    1: Result := SInterbaseExpressVersion ;
852    end;
853   end;
854  
# Line 768 | Line 860 | end;
860   { TIBDataSetEditor }
861  
862   procedure TIBDataSetEditor.ExecuteVerb(Index: Integer);
771 var
772  IBDataset: TIBDataset;
863   begin
864    if Index < inherited GetVerbCount then
865      inherited ExecuteVerb(Index) else
# Line 793 | Line 883 | begin
883      case Index of
884        0: Result := SIBDataSetEditor;
885        1: Result := SExecute;
886 <      2: Result := SInterbaseExpressVersion;
886 >      2: Result := SInterbaseExpressVersion ;
887      end;
888    end;
889   end;
# Line 850 | Line 940 | begin
940      Dec(Index, inherited GetVerbCount);
941      case Index of
942        0: Result := SIBDatabaseEditor;
943 <      1 : Result := SInterbaseExpressVersion;
943 >      1 : Result := SInterbaseExpressVersion ;
944      end;
945    end;
946   end;
# Line 873 | Line 963 | function TIBTransactionEditor.GetVerb(In
963   begin
964    case Index of
965      0: Result := SIBTransactionEditor;
966 <    1: Result := SInterbaseExpressVersion;
966 >    1: Result := SInterbaseExpressVersion ;
967    end;
968   end;
969  
# Line 909 | Line 999 | begin
999      case Index of
1000        0: Result := SExecute;
1001        1: Result := SEditSQL;
1002 <      2: Result := SInterbaseExpressVersion;
1002 >      2: Result := SInterbaseExpressVersion ;
1003      end;
1004    end;
1005   end;
# Line 939 | Line 1029 | begin
1029      Dec(Index, inherited GetVerbCount);
1030      case Index of
1031        0: Result := SExecute;
1032 <      1: Result := SInterbaseExpressVersion;
1032 >      1: Result := SInterbaseExpressVersion ;
1033      end;
1034    end;
1035   end;
# Line 1024 | Line 1114 | end;
1114   procedure TIBRefreshSQLProperty.Edit;
1115   var
1116    IBDataset: TIBDataset;
1027  aDatabase: TIBDatabase;
1117   begin
1118    IBDataset := GetComponent(0) as TIBDataset;
1119    if IBRefreshSQLEditor.EditSQL(IBDataSet,IBDataSet.RefreshSQL) then Modified;
# Line 1118 | Line 1207 | function TIBSQLEditor.GetVerb(Index: Int
1207   begin
1208    case Index of
1209      0 : Result := SIBSQLEditor;
1210 <    1: Result := SInterbaseExpressVersion;
1210 >    1: Result := SInterbaseExpressVersion ;
1211    end;
1212   end;
1213  

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines