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

Comparing ibx/trunk/design/IBDBReg.pas (file contents):
Revision 7 by tony, Sun Aug 5 18:28:19 2012 UTC vs.
Revision 107 by tony, Thu Jan 18 14:37:40 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 *)
52  
53   interface
54  
55 < uses {Windows,} SysUtils, Classes, Graphics, Dialogs, Controls, Forms, TypInfo,
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
61  
# Line 84 | Line 83 | type
83      procedure GetValues(Proc: TGetStrProc); override;
84    end;
85  
86 +  { TIBPackageNameProperty
87 +    Editor for the TIBStoredProc.PackageName property.  Displays a drop-down list of all
88 +    the StoredProcedures in the Database.}
89 +  TIBPackageNameProperty = class(TIBNameProperty)
90 +  public
91 +    procedure GetValues(Proc: TGetStrProc); override;
92 +  end;
93 +
94    { TIBTableNameProperty
95      Editor for the TIBTable.TableName property.  Displays a drop-down list of all
96      the Tables in the Database.}
# Line 92 | Line 99 | type
99      procedure GetValues(Proc: TGetStrProc); override;
100    end;
101  
102 +  { TDBStringProperty }
103 +
104    TDBStringProperty = class(TStringProperty)
105 +  private
106 +    function ConnecttoDB: boolean;
107    public
108      function GetAttributes: TPropertyAttributes; override;
109      procedure GetValueList(List: TStrings); virtual;
110      procedure GetValues(Proc: TGetStrProc); override;
111 +    procedure Edit; override;
112    end;
113  
114 +  { TIBIndexFieldNamesProperty }
115 +
116    TIBIndexFieldNamesProperty = class(TDBStringProperty)
117    public
118      procedure GetValueList(List: TStrings); override;
# Line 126 | Line 140 | type
140      function GetVerbCount: Integer; override;
141    end;
142  
143 +  { TIBArrayGridEditor }
144 +
145 +  TIBArrayGridEditor = class(TComponentEditor)
146 +  public
147 +    procedure ExecuteVerb(Index: Integer); override;
148 +    function GetVerb(Index: Integer): string; override;
149 +    function GetVerbCount: Integer; override;
150 +  end;
151 +
152   { TIBQueryEditor }
153  
154    TIBQueryEditor = class(TFieldsComponentEditor)
# Line 181 | Line 204 | type
204    end;
205  
206    TIBStoredProcParamsProperty = class(TCollectionPropertyEditor)
184  public
185    procedure Edit; override;
207    end;
208 < (*
208 >
209 >  { TIBTableFieldLinkProperty }
210 >
211    TIBTableFieldLinkProperty = class(TFieldLinkProperty)
212    private
213      FTable: TIBTable;
214    protected
215 +    function GetIndexDefs: TIndexDefs; override;
216      function GetIndexFieldNames: string; override;
217      function GetMasterFields: string; override;
218      procedure SetIndexFieldNames(const Value: string); override;
# Line 196 | Line 220 | type
220    public
221      procedure Edit; override;
222    end;
223 < *)
223 >
224   { TSQLPropertyEditor }
225  
226    TSQLPropertyEditor = class(TStringsPropertyEditor)
# Line 314 | Line 338 | type
338      procedure Edit; override;
339    end;
340  
341 +  { TDBDynamicGridFieldProperty }
342 +
343 +  TDBDynamicGridFieldProperty = class(TFieldProperty)
344 +  public
345 +    procedure FillValues(const Values: TStringList); override;
346 +  end;
347 +
348 +  { TDBLookupPropertiesGridFieldProperty }
349 +
350 +  TDBLookupPropertiesGridFieldProperty = class(TFieldProperty)
351 +  public
352 +    procedure FillValues(const Values: TStringList); override;
353 +  end;
354 +
355 +  { TIBTreeViewFieldProperty }
356 +
357 +  TIBTreeViewFieldProperty = class(TFieldProperty)
358 +  public
359 +    procedure FillValues(const Values: TStringList); override;
360 +  end;
361 +
362 +  { TIBDynamicGridIndexNamesProperty }
363 +
364 +  TIBDynamicGridIndexNamesProperty = class(TIndexFieldNamesProperty)
365 +  protected
366 +    function GetFieldDefs: TFieldDefs; override;
367 +    function GetIndexFieldNames: string; override;
368 +    procedure SetIndexFieldNames(const Value: string); override;
369 +  end;
370 +
371 +  { TIBFieldDefsProperty }
372 +
373 +  TIBFieldDefsProperty = class(TCollectionPropertyEditor)
374 +  public
375 +    procedure Edit; override;
376 +  end;
377 +
378 +  { TIBIndexDefsProperty }
379 +
380 +  TIBIndexDefsProperty = class(TCollectionPropertyEditor)
381 +  public
382 +    procedure Edit; override;
383 +  end;
384 +
385 +
386   procedure Register;
387  
388   implementation
389  
390 < uses IB, IBQuery, IBStoredProc, IBCustomDataSet,
391 <     IBIntf, IBSQL, IBSQLMonitor, IBDatabaseInfo, IBEvents,
390 > uses IB, IBQuery, IBStoredProc, IBCustomDataSet, FBMessages,
391 >     IBSQL, IBSQLMonitor, IBDatabaseInfo, IBEvents, IBTypes,
392       IBServices, IBDatabaseEdit, IBTransactionEdit,
393 <     IBBatchMove, DBLoginDlg, IBExtract,LResources, IBSelectSQLEditor,
393 >     IBBatchMove, IBExtract,LResources, IBSelectSQLEditor,
394       IBModifySQLEditor,IBDeleteSQLEditor,IBRefreshSQLEditor,
395       IBInsertSQLEditor, IBGeneratorEditor, IBUpdateSQLEditor, IBDataSetEditor,
396 <     IBSQLEditor, ibserviceeditor;
397 <
398 <
396 >     IBSQLEditor, ibserviceeditor, LCLVersion, IBDynamicGrid, IBLookupComboEditBox,
397 >     IBTreeView, DBControlGrid, ibxscript, IBLocalDBSupport, IBDSDialogs,
398 >     IBArrayGrid, IBVersion, IBDataOutput;
399 >
400 > const
401 >  IBPalette1 = 'Firebird'; {do not localize}
402 >  IBPalette2 = 'Firebird Admin'; {do not localize}
403 >  IBPalette3 = 'Firebird Data Controls';   {do not localize}
404 >  
405 > resourcestring
406 >   SInterbaseExpressVersion = 'Firebird Express for Lazarus ' + IBX_VERSION;
407 >   SEditSQL = 'Edit SQL';
408 >   SIBSQLEditor = 'IBSQL Editor';
409 >   SIBServiceEditor = 'Edit IB Service';
410 >   SIBUpdateSQLEditor = '&UpdateSQL Editor...';
411 >   SIBDataSetEditor = '&Dataset Editor...';
412 >   SExecute = 'E&xecute';
413 >   SIBDatabaseEditor = 'Da&tabase Editor...';
414 >   SIBTransactionEditor = '&Transaction Editor...';
415 >   SIBUpdateLayout = 'Update Layout';
416  
417   procedure Register;
418   begin
419 <  if not TryIBLoad then Exit;
419 >  if not TryIBLoad then
420 >  begin
421 >    MessageDlg('IBX is unable to locate the Firebird Library - have you remembered to install it?',mtError,[mbOK],0);
422 >    Exit;
423 >  end;
424  
425 <  RegisterNoIcon([TIBStringField, TIBBCDField]);
425 >  RegisterNoIcon([TIBStringField, TIBBCDField, TIBMemoField, TIBArrayField,
426 >    TIBSmallintField, TIBIntegerField, TIBLargeIntField]);
427 >  {$if lcl_fullversion < 01010000}
428 >  {see http://bugs.freepascal.org/view.php?id=19035 }
429    RegisterNoIcon([TIntegerField]);
430 +  {$endif}
431    RegisterComponents(IBPalette1, [ TIBQuery, TIBDataSet,
432 <   TIBDatabase, TIBTransaction, TIBUpdateSQL, TIBEvents,
432 >   TIBDatabase, TIBTransaction, TIBUpdateSQL, TIBUpdate, TIBEvents,
433       TIBSQL, TIBDatabaseInfo, TIBSQLMonitor,
434 <       TIBStoredProc,TIBBatchMove,  TIBTable,TIBExtract]);
435 <  if IBServiceAPIPresent  then
434 >       TIBStoredProc,TIBBatchMove,  TIBTable,TIBExtract, TIBXScript, TIBLocalDBSupport,
435 >       TIBBlockFormatOut,TIBCSVDataOut,TIBInsertStmtsOut]);
436 >  if FirebirdAPI.HasServiceAPI  then
437      RegisterComponents(IBPalette2, [TIBConfigService, TIBBackupService,
438        TIBRestoreService, TIBValidationService, TIBStatisticalService,
439        TIBLogService, TIBSecurityService, TIBServerProperties]);
440 +
441 +
442 +  RegisterComponents(IBPalette3,[TIBLookupComboEditBox,TIBDynamicGrid,TIBTreeView,TDBControlGrid, TIBArrayGrid]);
443    RegisterPropertyEditor(TypeInfo(TIBFileName), TIBDatabase, 'DatabaseName', TIBFileNameProperty); {do not localize}
444    RegisterPropertyEditor(TypeInfo(string), TIBStoredProc, 'StoredProcName', TIBStoredProcNameProperty); {do not localize}
445 +  RegisterPropertyEditor(TypeInfo(string), TIBStoredProc, 'PackageName', TIBPackageNameProperty); {do not localize}
446    RegisterPropertyEditor(TypeInfo(TParams), TIBStoredProc, 'Params', TIBStoredProcParamsProperty);
447    RegisterPropertyEditor(TypeInfo(string), TIBTable, 'TableName', TIBTableNameProperty); {do not localize}
448    RegisterPropertyEditor(TypeInfo(string), TIBTable, 'IndexName', TIBIndexNameProperty); {do not localize}
449    RegisterPropertyEditor(TypeInfo(string), TIBTable, 'IndexFieldNames', TIBIndexFieldNamesProperty); {do not localize}
450 < //  RegisterPropertyEditor(TypeInfo(string), TIBTable, 'MasterFields', TIBTableFieldLinkProperty); {do not localize}
450 >  RegisterPropertyEditor(TypeInfo(string), TIBTable, 'MasterFields', TIBTableFieldLinkProperty); {do not localize}
451 >  RegisterPropertyEditor(TypeInfo(TFieldDefs), TIBTable, 'FieldDefs', TIBFieldDefsProperty); {do not localize}
452 >  RegisterPropertyEditor(TypeInfo(TIndexDefs), TIBTable, 'IndexDefs', TIBIndexDefsProperty); {do not localize}
453    RegisterPropertyEditor(TypeInfo(TStrings), TIBQuery, 'SQL', TIBQuerySQLProperty); {do not localize}
454    RegisterPropertyEditor(TypeInfo(TStrings), TIBDataSet, 'SelectSQL', TIBDatasetSQLProperty); {do not localize}
455    RegisterPropertyEditor(TypeInfo(TStrings), TIBDataSet, 'ModifySQL', TIBUpdateSQLProperty); {do not localize}
# Line 363 | Line 464 | begin
464    RegisterPropertyEditor(TypeInfo(TStrings), TIBEvents, 'Events', TIBEventListProperty); {do not localize}
465    RegisterPropertyEditor(TypeInfo(TPersistent), TIBDataSet, 'GeneratorField', TIBGeneratorProperty);  {do not localize}
466    RegisterPropertyEditor(TypeInfo(TPersistent), TIBQuery, 'GeneratorField', TIBGeneratorProperty);  {do not localize}
467 +  RegisterPropertyEditor(TypeInfo(TPersistent), TIBTable, 'GeneratorField', TIBGeneratorProperty);  {do not localize}
468  
469    RegisterComponentEditor(TIBDatabase, TIBDatabaseEditor);
470    RegisterComponentEditor(TIBTransaction, TIBTransactionEditor);
# Line 372 | Line 474 | begin
474    RegisterComponentEditor(TIBStoredProc, TIBStoredProcEditor);
475    RegisterComponentEditor(TIBSQL, TIBSQLEditor);
476    RegisterComponentEditor(TIBCustomService, TIBServiceEditor);
477 +  RegisterComponentEditor(TIBArrayGrid, TIBArrayGridEditor);
478 +
479 +
480 +  {Firebird Data Access Controls}
481 +  RegisterPropertyEditor(TypeInfo(string), TDBLookupProperties, 'KeyField', TDBDynamicGridFieldProperty);
482 +  RegisterPropertyEditor(TypeInfo(string), TDBLookupProperties, 'ListField', TDBDynamicGridFieldProperty);
483 +  RegisterPropertyEditor(TypeInfo(string), TIBDynamicGrid, 'IndexFieldNames', TIBDynamicGridIndexNamesProperty);
484 +  RegisterPropertyEditor(TypeInfo(string), TDBLookupProperties, 'DataFieldName', TDBLookupPropertiesGridFieldProperty);
485 +  RegisterPropertyEditor(TypeInfo(string), TIBTreeView, 'KeyField', TIBTreeViewFieldProperty);
486 +  RegisterPropertyEditor(TypeInfo(string), TIBTreeView, 'TextField', TIBTreeViewFieldProperty);
487 +  RegisterPropertyEditor(TypeInfo(string), TIBTreeView, 'ParentField', TIBTreeViewFieldProperty);
488 +  RegisterPropertyEditor(TypeInfo(string), TIBTreeView, 'HasChildField', TIBTreeViewFieldProperty);
489 +
490 +  IBGUIInterface :=  TIBDSLCLInterface.Create;
491 + end;
492 +
493 + procedure LoadDataSourceFields(DataSource: TDataSource; List: TStrings);
494 + var
495 +  DataSet: TDataSet;
496 +  i: Integer;
497 + begin
498 +  if Assigned(DataSource) then
499 +  begin
500 +    DataSet := DataSource.DataSet;
501 +    if Assigned(DataSet) then
502 +    begin
503 +      if DataSet.Fields.Count > 0 then
504 +        DataSet.GetFieldNames(List)
505 +      else
506 +      begin
507 +        DataSet.FieldDefs.Update;
508 +        for i := 0 to DataSet.FieldDefs.Count - 1 do
509 +          List.Add(DataSet.FieldDefs[i].Name);
510 +      end;
511 +    end;
512 +  end;
513 + end;
514 +
515 + { TIBPackageNameProperty }
516 +
517 + procedure TIBPackageNameProperty.GetValues(Proc: TGetStrProc);
518 + var
519 +   StoredProc : TIBStoredProc;
520 +   i : integer;
521 + begin
522 +    StoredProc := GetComponent(0) as TIBStoredProc;
523 +    if StoredProc.Database = nil then
524 +      Exit;
525 +
526 +    with StoredProc do
527 +    try
528 +      for I := 0 to PackageNames.Count - 1 do
529 +        Proc (PackageNames[i]);
530 +    except on E: Exception do
531 +      MessageDlg(E.Message,mtError,[mbOK],0)
532 +    end;
533 + end;
534 +
535 + { TIBIndexDefsProperty }
536 +
537 + procedure TIBIndexDefsProperty.Edit;
538 + var IndexDefs: TIndexDefs;
539 + begin
540 +  IndexDefs := TIndexDefs(GetObjectValue);
541 +  if IndexDefs <> nil then
542 +    IndexDefs.Update;
543 +  inherited Edit;
544 + end;
545 +
546 + { TIBFieldDefsProperty }
547 +
548 + procedure TIBFieldDefsProperty.Edit;
549 + var FieldDefs: TFieldDefs;
550 + begin
551 +  FieldDefs := TFieldDefs(GetObjectValue);
552 +  if FieldDefs <> nil then
553 +    FieldDefs.Update;
554 +  inherited Edit;
555 + end;
556 +
557 + { TIBArrayGridEditor }
558 +
559 + procedure TIBArrayGridEditor.ExecuteVerb(Index: Integer);
560 + begin
561 +  if Index < inherited GetVerbCount then
562 +    inherited ExecuteVerb(Index)
563 +  else
564 +  case Index of
565 +    0: TIBArrayGrid(Component).UpdateLayout;
566 +  end;
567 + end;
568 +
569 + function TIBArrayGridEditor.GetVerb(Index: Integer): string;
570 + begin
571 +  if Index < inherited GetVerbCount then
572 +    Result := inherited GetVerb(Index) else
573 +  begin
574 +    Dec(Index, inherited GetVerbCount);
575 +    case Index of
576 +      0: Result := SIBUpdateLayout;
577 +      1 : Result := SInterbaseExpressVersion ;
578 +    end;
579 +  end;
580 + end;
581 +
582 + function TIBArrayGridEditor.GetVerbCount: Integer;
583 + begin
584 +  Result := 2;
585 + end;
586 +
587 + { TDBLookupPropertiesGridFieldProperty }
588 +
589 + procedure TDBLookupPropertiesGridFieldProperty.FillValues(
590 +  const Values: TStringList);
591 + var
592 +  P: TDBLookupProperties;
593 + begin
594 +  P :=TDBLookupProperties(GetComponent(0));
595 +  if not (P is TDBLookupProperties) then exit;
596 +  LoadDataSourceFields(TIBDynamicGrid(P.Owner.Grid).DataSource, Values);
597 + end;
598 +
599 + { TIBTreeViewFieldProperty }
600 +
601 + procedure TIBTreeViewFieldProperty.FillValues(const Values: TStringList);
602 + var ListSource: TDataSource;
603 + begin
604 +  ListSource :=  TIBTreeView(GetComponent(0)).DataSource;
605 +  LoadDataSourceFields(ListSource, Values);
606 + end;
607 +
608 + { TIBDynamicGridIndexNamesProperty }
609 +
610 + function TIBDynamicGridIndexNamesProperty.GetFieldDefs: TFieldDefs;
611 + var Grid: TIBDynamicGrid;
612 + begin
613 +  Result := nil;
614 +  Grid := TIBDynamicGrid(GetComponent(0));
615 +  if assigned(Grid.DataSource) and assigned(Grid.DataSource.DataSet) then
616 +     Result := Grid.DataSource.DataSet.FieldDefs
617 + end;
618 +
619 + function TIBDynamicGridIndexNamesProperty.GetIndexFieldNames: string;
620 + var Grid: TIBDynamicGrid;
621 + begin
622 +  Grid := TIBDynamicGrid(GetComponent(0));
623 +  Result := Grid.IndexFieldNames
624 + end;
625 +
626 + procedure TIBDynamicGridIndexNamesProperty.SetIndexFieldNames(
627 +  const Value: string);
628 + var Grid: TIBDynamicGrid;
629 + begin
630 +  Grid := TIBDynamicGrid(GetComponent(0));
631 +  Grid.IndexFieldNames := Value
632 + end;
633 +
634 + { TDBDynamicGridFieldProperty }
635 +
636 + procedure TDBDynamicGridFieldProperty.FillValues(const Values: TStringList);
637 + var
638 +  P: TDBLookupProperties;
639 + begin
640 +  P :=TDBLookupProperties(GetComponent(0));
641 +  if not (P is TDBLookupProperties) then exit;
642 +  LoadDataSourceFields(P.ListSource, Values);
643   end;
644  
645   { TIBServiceEditor }
# Line 456 | Line 724 | end;
724  
725   procedure TIBTableNameProperty.GetValues(Proc: TGetStrProc);
726   var
727 <   TableName : TIBTable;
727 >   Table : TIBTable;
728     i : integer;
729   begin
730 <  TableName := GetComponent(0) as TIBTable;
731 <  with TableName do
730 >  Table := GetComponent(0) as TIBTable;
731 >   if Table.Database = nil then
732 >      Exit;
733 >  with Table do
734      for I := 0 to TableNames.Count - 1 do
735        Proc (TableNames[i]);
736   end;
737  
738   { TDBStringProperty }
739  
740 + function TDBStringProperty.ConnecttoDB: boolean;
741 + var DataSet: TIBCustomDataSet;
742 + begin
743 +  Result := false;
744 +  DataSet := (GetComponent(0) as TIBCustomDataSet);
745 +  if assigned(Dataset.Database) then
746 +  begin
747 +    try
748 +      DataSet.Database.Connected := true;
749 +    except on E: Exception do
750 +      ShowMessage(E.Message)
751 +    end;
752 +    Result := DataSet.Database.Connected
753 +  end;
754 + end;
755 +
756   function TDBStringProperty.GetAttributes: TPropertyAttributes;
757   begin
758    Result := [paValueList, paSortList, paMultiSelect];
# Line 481 | Line 767 | var
767    I: Integer;
768    Values: TStringList;
769   begin
770 +  if not ConnecttoDB then Exit;
771    Values := TStringList.Create;
772    try
773      GetValueList(Values);
# Line 490 | Line 777 | begin
777    end;
778   end;
779  
780 + procedure TDBStringProperty.Edit;
781 + begin
782 +  if ConnecttoDB then
783 +    inherited Edit;
784 + end;
785 +
786   { Utility Functions }
787  
788   function GetPropertyValue(Instance: TPersistent; const PropName: string): TPersistent;
# Line 551 | Line 844 | var
844    Query: TIBQuery;
845   begin
846    Query := GetComponent(0) as TIBQuery;
847 <  if IBSelectSQLEditor.EditSQL(Query.Database,Query.SQL) then Modified;
847 >  if IBSelectSQLEditor.EditSQL(Query,Query.SQL) then Modified;
848   end;
849  
850   { TIBDatasetSQLProperty }
# Line 561 | Line 854 | var
854    IBDataset: TIBDataset;
855   begin
856    IBDataset := GetComponent(0) as TIBDataset;
857 <  if IBSelectSQLEditor.EditSQL(IBDataSet.Database,IBDataSet.SelectSQL) then Modified;
857 >  if IBSelectSQLEditor.EditSQL(IBDataSet,IBDataSet.SelectSQL) then Modified;
858   end;
859  
860   { TIBSQLProperty }
# Line 571 | Line 864 | var
864    IBSQL: TIBSQL;
865   begin
866    IBSQL := GetComponent(0) as TIBSQL;
867 <  if IBSelectSQLEditor.EditSQL(IBSQL.Database,IBSQL.SQL) then Modified;
867 >  if IBSQLEditor.EditSQL(IBSQL) then Modified;
868   end;
869  
870   { TIBUpdateSQLEditor }
# Line 585 | Line 878 | function TIBUpdateSQLEditor.GetVerb(Inde
878   begin
879    case Index of
880      0 : Result := SIBUpdateSQLEditor;
881 <    1: Result := SInterbaseExpressVersion;
881 >    1: Result := SInterbaseExpressVersion ;
882    end;
883   end;
884  
# Line 597 | Line 890 | end;
890   { TIBDataSetEditor }
891  
892   procedure TIBDataSetEditor.ExecuteVerb(Index: Integer);
600 var
601  IBDataset: TIBDataset;
893   begin
894    if Index < inherited GetVerbCount then
895      inherited ExecuteVerb(Index) else
# Line 622 | Line 913 | begin
913      case Index of
914        0: Result := SIBDataSetEditor;
915        1: Result := SExecute;
916 <      2: Result := SInterbaseExpressVersion;
916 >      2: Result := SInterbaseExpressVersion ;
917      end;
918    end;
919   end;
# Line 679 | Line 970 | begin
970      Dec(Index, inherited GetVerbCount);
971      case Index of
972        0: Result := SIBDatabaseEditor;
973 <      1 : Result := SInterbaseExpressVersion;
973 >      1 : Result := SInterbaseExpressVersion ;
974      end;
975    end;
976   end;
# Line 702 | Line 993 | function TIBTransactionEditor.GetVerb(In
993   begin
994    case Index of
995      0: Result := SIBTransactionEditor;
996 <    1: Result := SInterbaseExpressVersion;
996 >    1: Result := SInterbaseExpressVersion ;
997    end;
998   end;
999  
# Line 724 | Line 1015 | begin
1015      Dec(Index, inherited GetVerbCount);
1016      case Index of
1017        0: Query.ExecSQL;
1018 <      1: if ibselectsqleditor.EditSQL(Query.Database,Query.SQL) then Designer.Modified;
1018 >      1: if ibselectsqleditor.EditSQL(Query,Query.SQL) then Designer.Modified;
1019      end;
1020    end;
1021   end;
# Line 738 | Line 1029 | begin
1029      case Index of
1030        0: Result := SExecute;
1031        1: Result := SEditSQL;
1032 <      2: Result := SInterbaseExpressVersion;
1032 >      2: Result := SInterbaseExpressVersion ;
1033      end;
1034    end;
1035   end;
# Line 768 | Line 1059 | begin
1059      Dec(Index, inherited GetVerbCount);
1060      case Index of
1061        0: Result := SExecute;
1062 <      1: Result := SInterbaseExpressVersion;
1062 >      1: Result := SInterbaseExpressVersion ;
1063      end;
1064    end;
1065   end;
# Line 778 | Line 1069 | begin
1069    Result := inherited GetVerbCount + 2;
1070   end;
1071  
781 { TIBStoredProcParamsProperty }
782
783 procedure TIBStoredProcParamsProperty.Edit;
784 var
785  StoredProc: TIBStoredProc;
786  Params: TParams;
787 begin
788  StoredProc := (GetComponent(0) as TIBStoredProc);
789  Params := TParams.Create(nil);
790  try
791    StoredProc.CopyParams(Params);
792  finally
793    Params.Free;
794  end;
795  inherited Edit;
796 end;
797 (*
1072   { TIBTableFieldLinkProperty }
1073  
1074   procedure TIBTableFieldLinkProperty.Edit;
1075   begin
1076    FTable := DataSet as TIBTable;
1077 +  if assigned(FTable.Database) then
1078 +    FTable.Database.Connected := true;
1079    inherited Edit;
1080   end;
1081  
1082 + function TIBTableFieldLinkProperty.GetIndexDefs: TIndexDefs;
1083 + begin
1084 +  Result :=  FTable.IndexDefs
1085 + end;
1086 +
1087   function TIBTableFieldLinkProperty.GetIndexFieldNames: string;
1088   begin
1089    Result := FTable.IndexFieldNames;
# Line 821 | Line 1102 | end;
1102   procedure TIBTableFieldLinkProperty.SetMasterFields(const Value: string);
1103   begin
1104    FTable.MasterFields := Value;
1105 < end;*)
1105 > end;
1106  
1107   { TIBUpdateSQLProperty }
1108  
# Line 830 | Line 1111 | var
1111    IBDataset: TIBDataset;
1112   begin
1113    IBDataset := GetComponent(0) as TIBDataset;
1114 <  if IBModifySQLEditor.EditSQL(IBDataSet.Database,IBDataSet.ModifySQL) then Modified;
1114 >  if IBModifySQLEditor.EditSQL(IBDataSet,IBDataSet.ModifySQL) then Modified;
1115   end;
1116  
1117   { TIBUpdateSQLUpdateProperty }
# Line 838 | Line 1119 | end;
1119   procedure TIBUpdateSQLUpdateProperty.Edit;
1120   begin
1121    GetObjects;
1122 <  if IBModifySQLEditor.EditSQL(FDatabase,FIBUpdateSQL.ModifySQL) then Modified;
1122 >  if IBModifySQLEditor.EditSQL(FIBUpdateSQL.DataSet,FIBUpdateSQL.ModifySQL) then Modified;
1123   end;
1124  
1125   { TIBRefreshSQLProperty }
# Line 846 | Line 1127 | end;
1127   procedure TIBRefreshSQLProperty.Edit;
1128   var
1129    IBDataset: TIBDataset;
849  aDatabase: TIBDatabase;
1130   begin
1131    IBDataset := GetComponent(0) as TIBDataset;
1132 <  if IBRefreshSQLEditor.EditSQL(IBDataSet.Database,IBDataSet.RefreshSQL) then Modified;
1132 >  if IBRefreshSQLEditor.EditSQL(IBDataSet,IBDataSet.RefreshSQL) then Modified;
1133   end;
1134  
1135   { TIBUpdateSQLRefreshSQLProperty }
# Line 857 | Line 1137 | end;
1137   procedure TIBUpdateSQLRefreshSQLProperty.Edit;
1138   begin
1139    GetObjects;
1140 <  if IBRefreshSQLEditor.EditSQL(FDatabase,FIBUpdateSQL.RefreshSQL) then Modified;
1140 >  if IBRefreshSQLEditor.EditSQL(FIBUpdateSQL.DataSet,FIBUpdateSQL.RefreshSQL) then Modified;
1141   end;
1142  
1143   { TIBDeleteSQLProperty }
1144  
1145   procedure TIBDeleteSQLProperty.Edit;
1146   var
1147 <  IBDataset: TIBDataset;
1147 >  IBDataset: TIBDataSet;
1148   begin
1149 <  IBDataset := GetComponent(0) as TIBDataset;
1150 <  if IBDeleteSQLEditor.EditSQL(IBDataSet.Database,IBDataSet.DeleteSQL) then Modified;
1149 >  IBDataset := GetComponent(0) as TIBDataSet;
1150 >  if IBDeleteSQLEditor.EditSQL(IBDataSet,IBDataSet.DeleteSQL) then Modified;
1151   end;
1152  
1153   { TIBUpdateSQLDeleteProperty }
# Line 880 | Line 1160 | end;
1160   procedure TIBUpdateSQLDeleteProperty.Edit;
1161   begin
1162    GetObjects;
1163 <  if IBDeleteSQLEditor.EditSQL(FDatabase,FIBUpdateSQL.DeleteSQL) then Modified;
1163 >  if IBDeleteSQLEditor.EditSQL(FIBUpdateSQL.DataSet,FIBUpdateSQL.DeleteSQL) then Modified;
1164   end;
1165  
1166   { TUpdateSQLPropertyEditor }
# Line 903 | Line 1183 | end;
1183  
1184   procedure TIBInsertSQLProperty.Edit;
1185   var
1186 <  IBDataset: TIBDataset;
1186 >  IBDataset: TIBDataSet;
1187   begin
1188 <  IBDataset := GetComponent(0) as TIBDataset;
1189 <  if IBInsertSQLEditor.EditSQL(IBDataSet.Database,IBDataSet.InsertSQL) then Modified;
1188 >  IBDataset := GetComponent(0) as TIBDataSet;
1189 >  if IBInsertSQLEditor.EditSQL(IBDataSet,IBDataSet.InsertSQL) then Modified;
1190   end;
1191  
1192   { TIBUpdateSQLInsertSQLProperty }
# Line 914 | Line 1194 | end;
1194   procedure TIBUpdateSQLInsertSQLProperty.Edit;
1195   begin
1196    GetObjects;
1197 <  if IBInsertSQLEditor.EditSQL(FDatabase,FIBUpdateSQL.InsertSQL) then Modified;
1197 >  if IBInsertSQLEditor.EditSQL(FIBUpdateSQL.Dataset,FIBUpdateSQL.InsertSQL) then Modified;
1198   end;
1199  
1200   { TIBGeneratorProperty }
# Line 933 | Line 1213 | end;
1213  
1214   procedure TIBSQLEditor.ExecuteVerb(Index: Integer);
1215   begin
1216 <  if IBSQLEditor.EditIBSQL(TIBSQL(Component)) then Modified;
1216 >  if IBSQLEditor.EditSQL(TIBSQL(Component)) then Modified;
1217   end;
1218  
1219   function TIBSQLEditor.GetVerb(Index: Integer): string;
1220   begin
1221    case Index of
1222      0 : Result := SIBSQLEditor;
1223 <    1: Result := SInterbaseExpressVersion;
1223 >    1: Result := SInterbaseExpressVersion ;
1224    end;
1225   end;
1226  
# Line 956 | Line 1236 | var
1236    IBSQL: TIBSQL;
1237   begin
1238    IBSQL := GetComponent(0) as TIBSQL;
1239 <  if IBSQLEditor.EditIBSQL(IBSQL) then Modified;
1239 >  if IBSQLEditor.EditSQL(IBSQL) then Modified;
1240   end;
1241  
1242   initialization

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines