Commit d36b4459 authored by Sandro Camata Santana's avatar Sandro Camata Santana

Ajustes para compatibilização Linux
parent 1f872ceb
......@@ -11,9 +11,12 @@ uses
cthreads,
{$ENDIF}{$ENDIF}
SysUtils,
LCLType,
Classes,
Interfaces,
{$IFDEF DARWIN}
CocoaInt,
{$ENDIF}
Forms,
acuObject,
utuMessage,
......@@ -37,12 +40,26 @@ uses
utuXSD in 'utuXSD.pas',
DelphiAddInObj in 'DelphiAddInObj.pas';
type
{ ExceptionCatch }
ExceptionCatch= Class
public
procedure CustomExceptionHandler(Sender: TObject; E: Exception);
end;
exports
InitializeAddIn,
FinalizeAddIn,
DoMenuAction;
{$R *.res}
{ ExceptionCatch }
procedure ExceptionCatch.CustomExceptionHandler(Sender: TObject; E: Exception);
begin
Application.MessageBox(PChar(E.message), 'Error...', MB_ICONERROR or MB_OK);
end;
begin
ChangeLocaleFormatSetting;
......@@ -50,13 +67,18 @@ begin
PersistenceManager.DefaultRepositoryClass := typeOf(acRepositorySQL);
PersistenceManager.RegisterClass(typeOf(acPersistentObject), acPersistentObjectClassFactory.Create);
gSQLDialectManager.RegisterSQLDialect('MS SQL Server', typeOf(acSQLDialectSQLServer), acSQLDialectSQLServerClassFactory.Create);
// gSQLDialectManager.RegisterSQLDialect('Oracle', typeOf(acSQLDialectOracle), acSQLDialectOracleClassFactory.Create);
// gSQLDialectManager.RegisterSQLDialect('DB2', typeOf(acSQLDialectDB2), acSQLDialectDB2ClassFactory.Create);
gSQLDialectManager.RegisterSQLDialect('Oracle', typeOf(acSQLDialectOracle), acSQLDialectOracleClassFactory.Create);
gSQLDialectManager.RegisterSQLDialect('DB2', typeOf(acSQLDialectDB2), acSQLDialectDB2ClassFactory.Create);
gLinksManager.RegisterLink('tcp/ip', typeOf(utLinkSock), utLinkSockClassFactory.Create);
{$IFDEF DARWIN}
MainPool := Nil;
{$ENDIF}
Application.Initialize;
Application.Scaled := True;
Application.OnException := ExceptionCatch.CustomExceptionHandler;
// Application.CaptureExceptions := True;
// ExtensionManager.LoadProfiles;
......
......@@ -3,7 +3,7 @@ unit DelphiAddInObj;
interface
uses
LCLType, IntegracaoDelphiSUML, StarUMLintf, Classes;
LCLType, IntegracaoDelphiSUML, StarUMLintf, cxuSession, Classes;
type
......@@ -40,7 +40,7 @@ type
procedure ListOwnedClasses( piPackage : IUMLPackage ; piObjectList : TInterfaceList ; piStringList : TStringList);
procedure ListOwnedUseCases ( piPackage : IUMLPackage ; piObjectList : TInterfaceList ; piStringList : TStringList);
class function GetServiceConnectionString: string;
class function GetServiceSession: cxSession;
class function DoMenuAction(const ActionID: Integer): Integer;
// function NotifyEvent(AEvent: EventKind): HResult; stdcall;
end;
......@@ -50,7 +50,8 @@ implementation
uses
InstantCode, SysUtils, Mostra_Processamento, utuStateMachine, fCodeGen, Controls, Forms,
fModelMappingsGenerationOptions, fXSDEditor, ituDataBaseLogin, cxuSession, formMemo,
fModelMappingsGenerationOptions, fXSDEditor, ituDataBaseLogin, formMemo,
cxuCadastroClasse, cxuCadastroCasoDeUso,
utuMessage, uCadastroCasoDeUso, uCadastroClasse, ituServiceParameters, ituExplorerV2,
Registry, uRTFEditor, ituXSDExplorer, ituExportUnits, ituOQLExplorerV2;
......@@ -107,7 +108,7 @@ begin
result := gStarUMLApp.SelectionManager.GetSelectedModelAt(0);
end;
class function TDelphiAddInObj.GetServiceConnectionString: string;
class function TDelphiAddInObj.GetServiceSession: cxSession;
var lServiceParamDialog: TitServiceParameters;
lReg: TRegistry;
begin
......@@ -135,13 +136,10 @@ begin
gStarUMLApp.ProjectManager.Project.SetTaggedValueAsInteger('DBMappings', 'ProjectMap', 'SystemCode', lServiceParamDialog.SystemCode);
gStarUMLApp.ProjectManager.Project.SetTaggedValueAsInteger('DBMappings', 'ProjectMap', 'PortNumber', lServiceParamDialog.PortNumber);
result := format('ServerName=%s;PortNumber=%d;SystemCode=%d;UserName=%s;Password=%s;',
[lServiceParamDialog.ServerName, lServiceParamDialog.PortNumber,
lServiceParamDialog.SystemCode, lServiceParamDialog.UserName,
lServiceParamDialog.Password]);
result := lServiceParamDialog.Session;
end
else
result := '';
result := Nil;
finally
lReg.free;
end;
......@@ -177,7 +175,6 @@ begin
on E: Exception do
begin
Application.MessageBox(PAnsiChar(e.Message), 'Staruml', MB_ICONERROR);
raise;
end;
end;
end;
......@@ -274,29 +271,32 @@ end;
class procedure TDelphiAddInObj.ActionMenu_InsertClass;
var lCadClasse: TCadastroClasse;
lConnString: string;
lSession: cxSession;
lCadastroClasseUC: cxCadastroClasse;
lModel: IModel;
lUMLPackageAux: IUMLPackage;
begin
lCadClasse := nil;
lConnString := GetServiceConnectionString;
if lConnString <> '' then
lSession := GetServiceSession;
if Assigned(lSession) then
begin
lModel := gStarUMLApp.SelectionManager.GetSelectedModelAt(0);
lCadastroClasseUC := cxCadastroClasse.Create(lSession);
try
lCadClasse := TCadastroClasse.Create(nil, lCadastroClasseUC, Nil);
try
if lModel.QueryInterface(IUMLPackage, lUMLPackageAux) = S_OK then
begin
lCadClasse := TCadastroClasse.Create(nil, lConnString, Nil);
lCadClasse.ClassPackage := lModel as IUMLPackage;
end
else
begin
lCadClasse := TCadastroClasse.Create(nil, lConnString, Nil);
end;
if lCadClasse.ShowModal = mrok then
gStarUMLApp.SelectInModelExplorer(lCadClasse.UMLClass);
finally
if assigned(lCadClasse) then lCadClasse.Free;
lCadClasse.Free;
end;
finally
lCadastroClasseUC.Free;
end;
end;
end;
......@@ -327,58 +327,66 @@ end;
class procedure TDelphiAddInObj.ActionMenu_EditClass;
var lCadClasse: TCadastroClasse;
lConnString: string;
lSession: cxSession;
lCadastroClasseUC: cxCadastroClasse;
lModel: IModel;
lUMLClassAux: IUMLClass;
begin
lCadClasse := nil;
lConnString := GetServiceConnectionString;
if lConnString <> '' then
begin
lModel := gStarUMLApp.SelectionManager.GetSelectedModelAt(0);
if lModel.QueryInterface(IUMLClass, lUMLClassAux) = S_OK then
begin
lUMLClassAux := lModel as IUMLClass;
lSession := GetServiceSession;
if Assigned(lSession) then
begin
lCadastroClasseUC := cxCadastroClasse.Create(lSession);
try
lCadClasse := TCadastroClasse.Create(nil, lCadastroClasseUC, lUMLClassAux);
try
lCadClasse := TCadastroClasse.Create(nil, lConnString, lUMLClassAux);
if lCadClasse.ShowModal = mrok then
gStarUMLApp.SelectInModelExplorer(lCadClasse.UMLClass);
finally
if assigned(lCadClasse) then lCadClasse.Free;
lCadClasse.Free;
end;
finally
lCadastroClasseUC.Free;
end;
end
else
raise Exception.Create('This option is avaliable only for classes.');
end;
end else raise Exception.Create('This option is avaliable only for classes.');
end;
class procedure TDelphiAddInObj.ActionMenu_EditUseCase;
var lCadCasoDeUso: TCadastroCasoDeUso;
lConnString: string;
lSession: cxSession;
lCadastroCasoUsoUC: cxCadatroCasoDeUso;
lModel: IModel;
lUMLUseCaseAux: IUMLUseCase;
begin
lCadCasoDeUso := nil;
lConnString := GetServiceConnectionString;
if lConnString <> '' then
begin
lModel := gStarUMLApp.SelectionManager.GetSelectedModelAt(0);
try
if lModel.QueryInterface(IUMLUsecase, lUMLUseCaseAux) = S_OK then
begin
lUMLUseCaseAux := lModel as IUMLUsecase;
lCadCasoDeUso := TCadastroCasoDeUso.Create(nil, lConnString, lUMLUseCaseAux);
end
else
raise exception.Create('This option is only avaliable for Usecases.');
lSession := GetServiceSession;
if assigned(lSession) then
begin
lCadastroCasoUsoUC := cxCadatroCasoDeUso.Create(lSession);
try
lCadCasoDeUso := TCadastroCasoDeUso.Create(nil, lCadastroCasoUsoUC, lUMLUseCaseAux);
try
if lCadCasoDeUso.ShowModal = mrok then
gStarUMLApp.SelectInModelExplorer(lCadCasoDeUso.UseCase);
finally
if assigned(lCadCasoDeUso) then lCadCasoDeUso.Free;
lCadCasoDeUso.Free;
end;
finally
lCadastroCasoUsoUC.Free;
end;
end;
end
else raise exception.Create('This option is only avaliable for Usecases.');
end;
class procedure TDelphiAddInObj.ActionMenu_GeneratePreview;
......@@ -616,33 +624,34 @@ end;
class procedure TDelphiAddInObj.ActionMenu_InsertUseCase;
var lCadCasoDeUso: TCadastroCasoDeUso;
lConnString: string;
lSession: cxSession;
lCadastroCasoUsoUC: cxCadatroCasoDeUso;
lModel: IModel;
lUMLPackageAux: IUMLPackage;
begin
lCadCasoDeUso := nil;
lConnString := GetServiceConnectionString;
if lConnString <> '' then
lSession := GetServiceSession;
if assigned(lSession) then
begin
lModel := gStarUMLApp.SelectionManager.GetSelectedModelAt(0);
lCadastroCasoUsoUC := cxCadatroCasoDeUso.Create(lSession);
try
lCadCasoDeUso := TCadastroCasoDeUso.Create(nil, lCadastroCasoUsoUC, Nil);
try
if lModel.QueryInterface(IUMLPackage, lUMLPackageAux) = S_OK then
begin
lCadCasoDeUso := TCadastroCasoDeUso.Create(nil, lConnString, Nil);
lCadCasoDeUso.UseCasePackage := lModel as IUMLPackage;
end
else
begin
lCadCasoDeUso := TCadastroCasoDeUso.Create(nil, lConnString, Nil);
end;
if lCadCasoDeUso.ShowModal = mrok then
gStarUMLApp.SelectInModelExplorer(lCadCasoDeUso.UseCase);
finally
if assigned(lCadCasoDeUso) then lCadCasoDeUso.Free;
end;
finally
lCadastroCasoUsoUC.Free;
end;
end;
end;
......
......@@ -30,11 +30,7 @@
unit InstantTextFiler;
{$IFDEF LINUX}
{$I '../InstantDefines.inc'}
{$ELSE}
{$I 'InstantDefines.inc'}
{$ENDIF}
interface
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
......@@ -3,29 +3,36 @@ unit formMemo;
interface
uses
Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, ComCtrls, SynEdit;
Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, ExtCtrls, ComCtrls, SynEdit, SynHighlighterPas, SynHighlighterJava,
SynHighlighterSQL;
type
{ TPreviewClassCode }
TPreviewClassCode = class(TForm)
Panel2: TPanel;
Panel1: TPanel;
Button1: TButton;
pgc_Main: TPageControl;
mem_ClassJava: TSynEdit;
mem_ClassPascal: TSynEdit;
mem_ClassCSharp: TSynEdit;
mem_ClassSQL: TSynEdit;
mem_ClassOracle: TSynEdit;
SynFreePascalSyn1: TSynFreePascalSyn;
SynJavaSyn1: TSynJavaSyn;
SynSQLSyn1: TSynSQLSyn;
TabSheet1: TTabSheet;
pgc_ClassCode: TPageControl;
TabSheet3: TTabSheet;
mem_ClassPascal: TSynEdit;
TabSheet4: TTabSheet;
mem_ClassJava: TSynEdit;
TabSheet5: TTabSheet;
mem_ClassCSharp: TSynEdit;
TabSheet6: TTabSheet;
PageControl1: TPageControl;
TabSheet10: TTabSheet;
TabSheet14: TTabSheet;
mem_ClassSQL: TSynEdit;
mem_ClassOracle: TSynEdit;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
......
object DataBaseLogin: TDataBaseLogin
Left = 2241
Height = 543
Top = 255
Left = 1480
Height = 537
Top = 299
Width = 440
BorderIcons = [biSystemMenu]
BorderStyle = bsDialog
Caption = 'Connect to Database Server'
ClientHeight = 543
ClientHeight = 537
ClientWidth = 440
Color = clBtnFace
OnClose = FormClose
OnShow = FormShow
ParentFont = True
Position = poOwnerFormCenter
LCLVersion = '2.0.0.4'
object GroupBox2: TGroupBox
Left = 8
Height = 208
Top = 288
Width = 424
TabOrder = 11
end
object GroupBox1: TGroupBox
Left = 8
Height = 272
Top = 8
Width = 424
TabOrder = 10
end
object cbODBCD_DSN: TComboBox
Left = 32
Height = 15
Top = 48
Width = 389
ItemHeight = 0
OnChange = cbODBCD_DSNChange
Style = csDropDownList
ClientHeight = 206
ClientWidth = 422
TabOrder = 1
end
object edtUsuario: TLabeledEdit
Left = 21
Height = 22
Top = 398
Left = 15
Height = 43
Top = 95
Width = 400
EditLabel.Height = 16
EditLabel.Height = 19
EditLabel.Width = 400
EditLabel.Caption = 'Usuário'
EditLabel.ParentColor = False
TabOrder = 7
TabOrder = 1
end
object edtPassword: TLabeledEdit
Left = 21
Height = 22
Top = 454
Left = 15
Height = 43
Top = 160
Width = 400
EchoMode = emPassword
EditLabel.Height = 16
EditLabel.Height = 19
EditLabel.Width = 400
EditLabel.Caption = 'Senha'
EditLabel.ParentColor = False
PasswordChar = '*'
TabOrder = 8
TabOrder = 2
end
object cbDialect: TComboBox
Left = 21
Height = 15
Top = 339
Left = 15
Height = 39
Top = 25
Width = 400
ItemHeight = 0
OnChange = cbODBCD_DSNChange
Style = csDropDownList
TabOrder = 6
TabOrder = 0
end
object Label2: TLabel
Left = 21
Height = 16
Top = 320
Width = 45
Left = 15
Height = 19
Top = 5
Width = 48
Caption = 'Dialeto'
ParentColor = False
end
end
object GroupBox1: TGroupBox
Left = 8
Height = 272
Top = 8
Width = 424
ClientHeight = 270
ClientWidth = 422
TabOrder = 0
object cbODBCD_DSN: TComboBox
Left = 26
Height = 39
Top = 48
Width = 389
ItemHeight = 0
OnChange = cbODBCD_DSNChange
Style = csDropDownList
TabOrder = 1
end
object rbDSN: TRadioButton
Left = 16
Height = 18
Left = 10
Height = 24
Top = 16
Width = 115
Width = 130
Caption = 'Selecionar DSN'
Checked = True
OnClick = rbDSNClick
......@@ -91,19 +95,19 @@ object DataBaseLogin: TDataBaseLogin
TabStop = True
end
object rbPersonalizado: TRadioButton
Left = 16
Height = 18
Left = 10
Height = 24
Top = 88
Width = 108
Width = 119
Caption = 'Personalizado'
OnClick = rbPersonalizadoClick
TabOrder = 2
end
object cbODBCD_DRIVERS: TComboBox
Left = 35
Height = 15
Top = 120
Width = 386
Left = 26
Height = 39
Top = 115
Width = 389
Enabled = False
ItemHeight = 0
OnChange = cbODBCD_DSNChange
......@@ -111,56 +115,59 @@ object DataBaseLogin: TDataBaseLogin
TabOrder = 3
end
object edtDatabaseName: TLabeledEdit
Left = 32
Height = 22
Left = 26
Height = 43
Top = 232
Width = 389
EditLabel.Height = 16
EditLabel.Height = 19
EditLabel.Width = 389
EditLabel.Caption = 'Nome do Banco de Dados'
EditLabel.ParentColor = False
Enabled = False
TabOrder = 5
TabOrder = 4
end
object edtServerName: TLabeledEdit
Left = 32
Height = 22
Left = 26
Height = 43
Top = 176
Width = 389
EditLabel.Height = 16
EditLabel.Height = 19
EditLabel.Width = 389
EditLabel.Caption = 'Servidor'
EditLabel.ParentColor = False
Enabled = False
TabOrder = 4
TabOrder = 5
end
end
object Panel2: TPanel
Left = 0
Height = 40
Top = 503
Top = 497
Width = 440
Align = alBottom
ClientHeight = 40
ClientWidth = 440
TabOrder = 9
TabOrder = 2
object BitBtn1: TBitBtn
Left = 268
Height = 25
Top = 7
Width = 75
Left = 238
Height = 27
Top = 5
Width = 93
Anchors = [akTop, akRight]
Caption = 'Ok'
Default = True
Kind = bkOK
ModalResult = 1
OnClick = Button1Click
TabOrder = 0
end
object BitBtn2: TBitBtn
Left = 349
Height = 25
Top = 7
Width = 75
Left = 337
Height = 27
Top = 5
Width = 93
Anchors = [akTop, akRight]
Cancel = True
Caption = 'Cancel'
Kind = bkCancel
ModalResult = 2
......
object ExplorerV2: TExplorerV2
Left = 2406
Height = 695
Top = 177
Width = 1228
Left = 577
Height = 696
Top = 103
Width = 1232
Caption = 'Model OQL Query'
ClientHeight = 695
ClientWidth = 1228
ClientHeight = 696
ClientWidth = 1232
Color = clWindow
Icon.Data = {
96A5050000000100060000000000010020002820040066000000101000000100
......@@ -11574,6 +11574,7 @@ object ExplorerV2: TExplorerV2
001FF80000000000001FF80000000000001FFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
}
KeyPreview = True
OnClose = FormClose
OnCreate = FormCreate
OnDestroy = FormDestroy
......@@ -11581,9 +11582,10 @@ object ExplorerV2: TExplorerV2
ParentFont = True
Position = poMainFormCenter
ShowInTaskBar = stAlways
LCLVersion = '2.0.0.4'
object splVertical: TSplitter
Left = 360
Height = 695
Height = 696
Top = 0
Width = 5
MinSize = 5
......@@ -11591,56 +11593,56 @@ object ExplorerV2: TExplorerV2
end
object pnlEditor: TPanel
Left = 365
Height = 695
Height = 696
Top = 0
Width = 863
Width = 867
Align = alClient
BevelOuter = bvNone
ClientHeight = 695
ClientWidth = 863
ClientHeight = 696
ClientWidth = 867
TabOrder = 0
object pnlResult: TPanel
Left = 0
Height = 185
Top = 495
Width = 863
Top = 490
Width = 867
Align = alBottom
BevelOuter = bvNone
ClientHeight = 185
ClientWidth = 863
ClientWidth = 867
TabOrder = 0
object pcResults: TPageControl
Left = 0
Height = 185
Top = 0
Width = 863
Width = 867
ActivePage = tsError
Align = alClient
ShowTabs = False
TabIndex = 1
TabOrder = 0
object tsQueryResult: TTabSheet
Caption = 'tsQueryResult'
ClientHeight = 158
ClientWidth = 882
TabVisible = False
ClientHeight = 181
ClientWidth = 857
object pcXMLResults: TPageControl
Left = 0
Height = 158
Height = 181
Top = 0
Width = 882
Width = 853
ActivePage = tsList
Align = alClient
TabIndex = 0
TabOrder = 0
object tsList: TTabSheet
Caption = 'Result List'
ClientHeight = 119
ClientWidth = 876
ClientHeight = 177
ClientWidth = 849
object lvXMLListResult: TListView
Left = 0
Height = 131
Height = 148
Top = 0
Width = 874
Width = 843
Align = alClient
BorderStyle = bsNone
Columns = <>
......@@ -11648,25 +11650,26 @@ object ExplorerV2: TExplorerV2
ParentColor = True
ReadOnly = True
RowSelect = True
ScrollBars = ssAutoBoth
TabOrder = 0
ViewStyle = vsReport
end
end
object tsXML: TTabSheet
Caption = 'XML Result'
ClientHeight = 131
ClientWidth = 874
ClientHeight = 177
ClientWidth = 849
ImageIndex = 1
object memXMLTextResult: TMemo
Left = 0
Height = 131
Height = 148
Top = 0
Width = 874
Width = 843
Align = alClient
BorderStyle = bsNone
ParentColor = True
ReadOnly = True
ScrollBars = ssBoth
ScrollBars = ssAutoBoth
TabOrder = 0
end
end
......@@ -11674,20 +11677,19 @@ object ExplorerV2: TExplorerV2
end
object tsError: TTabSheet
Caption = 'tsError'
ClientHeight = 146
ClientHeight = 181
ClientWidth = 857
ImageIndex = 1
TabVisible = False
object memErrorText: TMemo
Left = 0
Height = 146
Height = 181
Top = 0
Width = 857
Align = alClient
BorderStyle = bsNone
ParentColor = True
ReadOnly = True
ScrollBars = ssBoth
ScrollBars = ssAutoBoth
TabOrder = 0
end
end
......@@ -11695,28 +11697,31 @@ object ExplorerV2: TExplorerV2
end
object pcEditor: TPageControl
Left = 0
Height = 442
Height = 437
Top = 48
Width = 498
Width = 502
ActivePage = tsOQL
Align = alClient
MultiLine = True
ParentFont = False
TabIndex = 0
TabOrder = 1
OnChange = pcEditorChange
Options = [nboMultiLine]
object tsOQL: TTabSheet
Caption = 'OQL - Object Query Language'
ClientHeight = 403
ClientHeight = 404
ClientWidth = 492
inline SynEditOQL: TSynEdit
Left = 0
Height = 403
Height = 404
Top = 0
Width = 492
Align = alClient
Font.Height = -13
Font.Name = 'Courier New'
Color = clWindow
Font.Color = clWindowText
Font.Height = 13
Font.Name = 'DejaVu Sans Mono'
Font.Pitch = fpFixed
Font.Quality = fqNonAntialiased
ParentColor = False
......@@ -11725,7 +11730,7 @@ object ExplorerV2: TExplorerV2
OnDragDrop = memOQLQuery2DragDrop
OnDragOver = memOQLQuery2DragOver
BorderStyle = bsNone
Gutter.Width = 33
Gutter.Width = 23
Gutter.MouseActions = <>
RightGutter.Width = 0
RightGutter.MouseActions = <>
......@@ -12222,14 +12227,16 @@ object ExplorerV2: TExplorerV2
end
object tsSQL: TTabSheet
Caption = 'SQL Translation'
ClientHeight = 403
ClientHeight = 404
ClientWidth = 492
inline SynEditSQL: TSynEdit
Left = 0
Height = 403
Height = 404
Top = 0
Width = 492
Align = alClient
Color = clWindow
Font.Color = clWindowText
Font.Height = -13
Font.Name = 'Courier New'
Font.Pitch = fpFixed
......@@ -12238,7 +12245,7 @@ object ExplorerV2: TExplorerV2
ParentFont = False
TabOrder = 0
BorderStyle = bsNone
Gutter.Width = 33
Gutter.Width = 23
Gutter.MouseActions = <>
RightGutter.Width = 0
RightGutter.MouseActions = <>
......@@ -12739,18 +12746,18 @@ object ExplorerV2: TExplorerV2
Left = 0
Height = 48
Top = 0
Width = 863
Width = 867
Align = alTop
AutoSize = True
BevelOuter = bvNone
ClientHeight = 48
ClientWidth = 863
ClientWidth = 867
TabOrder = 2
object ToolBar1: TToolBar
Left = 0
Height = 48
Top = 0
Width = 863
Width = 867
ButtonHeight = 40
ButtonWidth = 50
Caption = 'ToolBar1'
......@@ -12802,7 +12809,7 @@ object ExplorerV2: TExplorerV2
Style = tbsCheck
end
object ToolButton8: TToolButton
Left = 351
Left = 355
Top = 2
Action = XMLQuery
Grouped = True
......@@ -12823,8 +12830,8 @@ object ExplorerV2: TExplorerV2
end
end
object spResultObject: TSplitter
Left = 498
Height = 442
Left = 502
Height = 437
Top = 48
Width = 5
Align = alRight
......@@ -12832,41 +12839,40 @@ object ExplorerV2: TExplorerV2
ResizeStyle = rsPattern
end
inline OQLObjects: TObjectExplorer
Left = 503
Height = 442
Left = 507
Height = 437
Top = 48
Width = 360
Align = alRight
ClientHeight = 442
ClientHeight = 437
ClientWidth = 360
TabOrder = 4
Visible = False
inherited tvExplorer: TTreeView
Height = 442
Height = 437
Width = 360
Images = ilModel
ParentColor = True
PopupMenu = pmCopiar
ReadOnly = False
RightClickSelect = True
Options = [tvoAutoItemHeight, tvoHideSelection, tvoKeepCollapsedNodes, tvoRightClickSelect, tvoShowButtons, tvoShowRoot, tvoToolTips, tvoThemedDraw]
Options = [tvoAutoItemHeight, tvoHideSelection, tvoKeepCollapsedNodes, tvoReadOnly, tvoRightClickSelect, tvoShowButtons, tvoShowRoot, tvoToolTips, tvoThemedDraw]
end
end
object spResultXML: TSplitter
Cursor = crVSplit
Left = 0
Height = 5
Top = 490
Width = 863
Top = 485
Width = 867
Align = alBottom
ResizeAnchor = akBottom
ResizeStyle = rsPattern
end
object sbStatusBar: TStatusBar
Left = 0
Height = 15
Top = 680
Width = 863
Height = 21
Top = 675
Width = 867
Panels = <
item
Width = 400
......@@ -12886,17 +12892,17 @@ object ExplorerV2: TExplorerV2
end
object pnlModel: TPanel
Left = 0
Height = 695
Height = 696
Top = 0
Width = 360
Align = alLeft
BevelOuter = bvNone
ClientHeight = 695
ClientHeight = 696
ClientWidth = 360
TabOrder = 1
object tvModelExplorer: TTreeView
Left = 0
Height = 695
Height = 696
Top = 0
Width = 360
Align = alClient
......
......@@ -117,6 +117,8 @@ type
{ Public declarations }
property MetaModel: acMetaModel read fMetaModel write SetMetaModel;
property Util: TUtil read fUtil;
property SQLDialect: acAbstractSQLDialect read fSQLDialect;
property Schema: String read fSchema;
end;
var
......@@ -370,6 +372,7 @@ begin
end
else
begin
pcResults.ActivePageIndex := 0;
spResultObject.Visible := False;
pnlResult.Visible := True;
spResultXML.Visible := True;
......
object OQLExplorerV2: TOQLExplorerV2
Left = 375
Height = 558
Top = 363
Left = 2177
Height = 552
Top = 281
Width = 1090
Caption = 'OQLExplorerV2'
ClientHeight = 558
Caption = 'Curio OQL Explorer'
ClientHeight = 552
ClientWidth = 1090
Color = clBtnFace
Font.Color = clWindowText
......@@ -11582,90 +11582,73 @@ object OQLExplorerV2: TOQLExplorerV2
OnCreate = FormCreate
OnResize = FormResize
OnShow = FormShow
LCLVersion = '2.0.2.0'
object pnlActionBar: TPanel
Left = 0
Height = 35
Top = 0
Width = 1090
Align = alTop
BevelOuter = bvNone
TabOrder = 0
end
LCLVersion = '2.0.0.4'
object pcCXOQL: TPageControl
Left = 0
Height = 523
Height = 517
Top = 35
Width = 1090
ActivePage = tsCXOQL
Align = alClient
TabIndex = 0
TabOrder = 1
TabOrder = 0
object tsCXOQL: TTabSheet
Caption = 'CXOQL'
ClientHeight = 497
ClientWidth = 1082
ClientHeight = 489
ClientWidth = 1080
object pnlCXOQL: TPanel
Left = 0
Height = 497
Height = 489
Top = 0
Width = 1082
Width = 1080
Align = alClient
BevelOuter = bvNone
ClientHeight = 497
ClientWidth = 1082
ClientHeight = 489
ClientWidth = 1080
ParentBackground = False
TabOrder = 0
object splVertical: TSplitter
Left = 219
Height = 497
Left = 274
Height = 489
Top = 0
Width = 8
Width = 4
Color = clBtnFace
OnCanResize = splVerticalCanResize
ParentColor = False
end
object pnlOQLList: TPanel
Left = 0
Height = 497
Height = 489
Top = 0
Width = 219
Width = 274
Align = alLeft
BevelOuter = bvNone
ClientHeight = 497
ClientWidth = 219
TabOrder = 0
object pnlOQLButtons: TPanel
Left = 0
Height = 35
Top = 0
Width = 219
Align = alTop
BevelOuter = bvNone
ClientHeight = 489
ClientWidth = 274
TabOrder = 0
end
object pnlList: TPanel
Left = 0
Height = 462
Top = 35
Width = 219
Height = 463
Top = 26
Width = 274
Align = alClient
BevelOuter = bvNone
ClientHeight = 462
ClientWidth = 219
TabOrder = 1
ClientHeight = 463
ClientWidth = 274
TabOrder = 0
object lvOQLList: TListView
Left = 0
Height = 374
Height = 375
Top = 0
Width = 219
Width = 274
Align = alClient
Columns = <
item
AutoSize = True
Caption = 'OQL Name'
Width = 74
Width = 272
end>
ScrollBars = ssAutoBoth
SmallImages = ilOQLState
TabOrder = 0
ViewStyle = vsReport
......@@ -11674,30 +11657,51 @@ object OQLExplorerV2: TOQLExplorerV2
object memError: TMemo
Left = 0
Height = 88
Top = 374
Width = 219
Top = 375
Width = 274
Align = alBottom
Color = clBtnFace
ReadOnly = True
TabOrder = 1
end
end
object ToolBar2: TToolBar
Left = 0
Height = 26
Top = 0
Width = 274
Caption = 'ToolBar2'
Images = ilCXOQL
List = True
ShowCaptions = True
TabOrder = 1
object ToolButton5: TToolButton
Left = 1
Top = 2
Action = aNewOQL
end
object ToolButton6: TToolButton
Left = 80
Top = 2
Action = aDeleteOQL
end
end
end
object pnlRight: TPanel
Left = 227
Height = 497
Left = 278
Height = 489
Top = 0
Width = 855
Width = 802
Align = alClient
BevelOuter = bvNone
ClientHeight = 497
ClientWidth = 855
ClientHeight = 489
ClientWidth = 802
TabOrder = 1
object pnlOQLExplorer: TPanel
Left = 0
Height = 424
Height = 416
Top = 73
Width = 855
Width = 802
Align = alClient
BevelOuter = bvNone
ParentBackground = False
......@@ -11707,16 +11711,16 @@ object OQLExplorerV2: TOQLExplorerV2
Left = 0
Height = 73
Top = 0
Width = 855
Width = 802
Align = alTop
BevelOuter = bvNone
ClientHeight = 73
ClientWidth = 855
ClientWidth = 802
ParentBackground = False
TabOrder = 0
object labelName: TLabel
Left = 58
Height = 13
Height = 14
Top = 13
Width = 31
Caption = 'Name:'
......@@ -11724,7 +11728,7 @@ object OQLExplorerV2: TOQLExplorerV2
end
object labelDescription: TLabel
Left = 32
Height = 13
Height = 14
Top = 43
Width = 57
Caption = 'Description:'
......@@ -11732,14 +11736,14 @@ object OQLExplorerV2: TOQLExplorerV2
end
object edtName: TEdit
Left = 97
Height = 21
Height = 31
Top = 10
Width = 384
TabOrder = 0
end
object edtDescription: TEdit
Left = 97
Height = 21
Height = 31
Top = 40
Width = 384
TabOrder = 1
......@@ -11750,8 +11754,8 @@ object OQLExplorerV2: TOQLExplorerV2
end
object tsPASunit: TTabSheet
Caption = 'Unit'
ClientHeight = 497
ClientWidth = 1082
ClientHeight = 489
ClientWidth = 1080
ImageIndex = 1
object pnlPASUnit: TPanel
Left = 0
......@@ -11776,6 +11780,39 @@ object OQLExplorerV2: TOQLExplorerV2
end
end
end
object ToolBar1: TToolBar
Left = 0
Height = 35
Top = 0
Width = 1090
ButtonHeight = 24
ButtonWidth = 24
Caption = 'ToolBar1'
Images = ilCXOQL
List = True
ShowCaptions = True
TabOrder = 1
object ToolButton1: TToolButton
Left = 1
Top = 2
Action = aNewFile
end
object ToolButton2: TToolButton
Left = 56
Top = 2
Action = aLoadFile
end
object ToolButton3: TToolButton
Left = 116
Top = 2
Action = aSaveFile
end
object ToolButton4: TToolButton
Left = 174
Top = 2
Action = aExportPas
end
end
object abExportPAS: TAction
Caption = 'abExportPAS'
Visible = False
......@@ -12588,8 +12625,8 @@ object OQLExplorerV2: TOQLExplorerV2
}
end
object ilOQLState: TImageList
left = 16
top = 472
left = 861
top = 5
Bitmap = {
4C6903000000100000001000000000000000000000000071ADFF0071ADFF0071
ADFF0071ADFF0071ADFF0071ADFF000000000000000000000000000000000000
......@@ -12702,4 +12739,38 @@ object OQLExplorerV2: TOQLExplorerV2
Filter = 'pas|*.pas'
left = 616
end
object ActionList1: TActionList
left = 926
top = 6
object aNewOQL: TAction
Caption = '&New OQL'
ImageIndex = 5
OnExecute = aNewOQLExecute
end
object aDeleteOQL: TAction
Caption = '&Delete OQL'
ImageIndex = 9
OnExecute = aDeleteOQLExecute
end
object aNewFile: TAction
Caption = 'Ne&w'
ImageIndex = 10
OnExecute = aNewFileExecute
end
object aLoadFile: TAction
Caption = '&Open'
ImageIndex = 3
OnExecute = aLoadFileExecute
end
object aSaveFile: TAction
Caption = '&Save'
ImageIndex = 7
OnExecute = aSaveFileExecute
end
object aExportPas: TAction
Caption = '&Export'
ImageIndex = 8
OnExecute = aExportPASExecute
end
end
end
This diff is collapsed.
object itServiceParameters: TitServiceParameters
Left = 0
Height = 276
Top = 0
Width = 306
Left = 778
Height = 289
Top = 453
Width = 314
BorderStyle = bsDialog
Caption = 'Propriedades do Serviço'
ClientHeight = 276
ClientWidth = 306
Color = clBtnFace
ClientHeight = 289
ClientWidth = 314
ParentFont = True
Position = poDesktopCenter
Position = poScreenCenter
LCLVersion = '2.0.0.4'
object Panel2: TPanel
Left = 0
Height = 237
Height = 240
Top = 0
Width = 306
Width = 314
Align = alClient
ClientHeight = 237
ClientWidth = 306
ClientHeight = 240
ClientWidth = 314
TabOrder = 1
object GroupBox1: TGroupBox
Left = 6
Height = 77
Top = 3
Width = 296
ClientHeight = 70
ClientWidth = 288
ClientHeight = 75
ClientWidth = 294
TabOrder = 0
object Label2: TLabel
Left = 5
Height = 16
Height = 19
Top = 14
Width = 117
Width = 122
Caption = 'Nome do Servidor:'
ParentColor = False
end
object Label1: TLabel
Left = 11
Height = 16
Height = 19
Top = 42
Width = 111
Width = 116
Caption = 'Número da Porta:'
ParentColor = False
end
object edtServerName: TEdit
Left = 133
Height = 22
Height = 29
Top = 8
Width = 155
TabOrder = 0
end
object edtPortNumber: TEdit
Left = 133
Height = 22
Height = 29
Top = 36
Width = 155
TabOrder = 1
......@@ -63,20 +63,20 @@ object itServiceParameters: TitServiceParameters
Height = 48
Top = 88
Width = 296
ClientHeight = 41
ClientWidth = 288
ClientHeight = 46
ClientWidth = 294
TabOrder = 1
object Label3: TLabel
Left = 0
Height = 16
Height = 19
Top = 12
Width = 122
Width = 126
Caption = 'Código do Sistema:'
ParentColor = False
end
object edtSystemCode: TEdit
Left = 133
Height = 22
Height = 29
Top = 8
Width = 155
TabOrder = 0
......@@ -87,35 +87,35 @@ object itServiceParameters: TitServiceParameters
Height = 80
Top = 144
Width = 296
ClientHeight = 73
ClientWidth = 288
ClientHeight = 78
ClientWidth = 294
TabOrder = 2
object Label5: TLabel
Left = 9
Height = 16
Height = 19
Top = 12
Width = 113
Width = 117
Caption = 'Nome do Usuário:'
ParentColor = False
end
object Label4: TLabel
Left = 80
Height = 16
Height = 19
Top = 46
Width = 42
Width = 45
Caption = 'Senha:'
ParentColor = False
end
object edtUserName: TEdit
Left = 133
Height = 22
Height = 29
Top = 6
Width = 155
TabOrder = 0
end
object edtPassword: TEdit
Left = 133
Height = 22
Height = 29
Top = 40
Width = 155
EchoMode = emPassword
......@@ -126,18 +126,18 @@ object itServiceParameters: TitServiceParameters
end
object Panel1: TPanel
Left = 0
Height = 39
Top = 237
Width = 306
Height = 49
Top = 240
Width = 314
Align = alBottom
ClientHeight = 39
ClientWidth = 306
ClientHeight = 49
ClientWidth = 314
TabOrder = 0
object BitBtn1: TBitBtn
Left = 141
Height = 25
Left = 96
Height = 35
Top = 6
Width = 75
Width = 99
Anchors = [akTop, akLeft, akBottom]
Caption = 'Ok'
Kind = bkOK
......@@ -146,10 +146,10 @@ object itServiceParameters: TitServiceParameters
TabOrder = 0
end
object BitBtn2: TBitBtn
Left = 229
Height = 25
Left = 203
Height = 35
Top = 6
Width = 75
Width = 97
Anchors = [akTop, akLeft, akBottom]
Caption = 'Cancel'
Kind = bkCancel
......
......@@ -4,7 +4,7 @@ interface
uses
LCLType, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, ExtCtrls;
Dialogs, StdCtrls, Buttons, ExtCtrls, cxuSession;
type
TitServiceParameters = class(TForm)
......@@ -27,6 +27,7 @@ type
Label4: TLabel;
procedure BitBtn1Click(Sender: TObject);
private
fSession: cxSession;
function GetPassword: string;
function GetPortNumber: integer;
function GetServerName: string;
......@@ -40,6 +41,7 @@ type
{ Private declarations }
public
{ Public declarations }
property Session: cxSession read fSession write fSession;
property ServerName: string read GetServerName write SetServerName;
property PortNumber: integer read GetPortNumber write SetPortNumber;
property SystemCode: integer read GetSystemCode write SetSystemCode;
......@@ -55,6 +57,7 @@ implementation
{ TServiceParameters }
procedure TitServiceParameters.BitBtn1Click(Sender: TObject);
var lConnectioString: String;
begin
if edtServerName.Text = '' then
begin
......@@ -79,7 +82,7 @@ begin
end;
try
strtoint(edtPortNumber.Text);
StrToInt(edtPortNumber.Text);
except
Application.MessageBox('Porta informada invlida.','Ateno', MB_ICONEXCLAMATION);
edtPortNumber.SetFocus;
......@@ -88,13 +91,29 @@ begin
end;
try
strtoint(edtSystemCode.Text);
StrToInt(edtSystemCode.Text);
except
Application.MessageBox('Cdigo do sistema informado invlido.','Ateno', MB_ICONEXCLAMATION);
edtSystemCode.SetFocus;
edtSystemCode.SelectAll;
modalresult := mrnone;
end;
try
lConnectioString := format('ServerName=%s;PortNumber=%d;SystemCode=%d;UserName=%s;Password=%s;',
[edtServerName.Caption, StrToInt(edtPortNumber.Caption),
StrToInt(edtSystemCode.Caption), edtUserName.Caption,
edtPassword.Caption]);
fSession := cxSession.Create(lConnectioString);
except
on e:Exception do
begin
Application.MessageBox(PCHAR(e.Message), 'Ateno', MB_ICONEXCLAMATION);
modalresult := mrnone;
end;
end;
end;
function TitServiceParameters.GetPassword: string;
......
This diff is collapsed.
......@@ -19,6 +19,8 @@ type
TCadastroCasoDeUso = class(TForm)
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
edtUseCaseName: TEdit;
Label4: TLabel;
Panel3: TPanel;
pnPrincipal: TPanel;
lblNome: TLabel;
......@@ -41,9 +43,6 @@ type
edtPackage: TEdit;
Label3: TLabel;
btnSelecionarDestino: TSpeedButton;
Panel2: TPanel;
edtUseCaseName: TEdit;
Label4: TLabel;
Label5: TLabel;
procedure imgIconeClick(Sender: TObject);
procedure btnSelecionarDestinoClick(Sender: TObject);
......@@ -51,6 +50,7 @@ type
procedure SpeedButton1Click(Sender: TObject);
private
FOID: integer;
FContextField: utField;
fUMLUseCase: IUMLUseCase;
fFormIcones: TCadastroCasoDeUsoIcones;
fcxCadastroCasoDeUso: cxCadatroCasoDeUso;
......@@ -63,7 +63,8 @@ type
{ Private declarations }
public
{ Public declarations }
Constructor Create(Sender: TComponent; piConnectionString: string; piUseCase: IUMLUseCase); reintroduce;
Constructor Create(Sender: TComponent; piCadatroCasoDeUso: cxCadatroCasoDeUso; piUseCase: IUMLUseCase); reintroduce;
Destructor Destroy; override;
property UseCasePackage: IUMLPackage read fUseCasePackage write fUseCasePackage;
property UseCase: IUMLUseCase read fUMLUseCase;
......@@ -81,15 +82,21 @@ uses IntegracaoDelphiSUML;
type
CP1252String = type AnsiString(1252);
constructor TCadastroCasoDeUso.Create(Sender: TComponent; piConnectionString: string; piUseCase: IUMLUseCase);
constructor TCadastroCasoDeUso.Create(Sender: TComponent; piCadatroCasoDeUso: cxCadatroCasoDeUso; piUseCase: IUMLUseCase);
begin
inherited Create(sender);
fUMLUseCase := piUseCase;
fFormIcones := TCadastroCasoDeUsoIcones.Create(self);
fcxCadastroCasoDeUso := cxCadatroCasoDeUso.Create(piConnectionString);
fcxCadastroCasoDeUso := piCadatroCasoDeUso;
self.Initialize;
end;
destructor TCadastroCasoDeUso.Destroy;
begin
FreeAndNil(FContextField);
inherited Destroy;
end;
procedure TCadastroCasoDeUso.imgIconeClick(Sender: TObject);
begin
if fFormIcones.ShowModal = mrOk then
......@@ -101,27 +108,25 @@ begin
end;
procedure TCadastroCasoDeUso.Initialize;
var lField, lResponseField: utField;
lUseCaseCode: string;
var lUseCaseCode: string;
lRequestField, lResponseField: utField;
begin
//Retorna do caso de uso os atributos da classe
lResponseField := utField.Create;
try
lField := utField.Create;
fcxCadastroCasoDeUso.rmObtemContexto(lField, lResponseField);
SendToInterface(lResponseField);
finally
// lResponseField.free;
end;
FreeAndNil(FContextField);
FContextField := utField.Create;
lRequestField := utField.Create;
fcxCadastroCasoDeUso.rmObtemContexto(lRequestField, FContextField);
SendToInterface(FContextField);
if assigned(fUMLUseCase) then
begin
lField := utField.Create;
lRequestField := utField.Create;
lUseCaseCode := fUMLUseCase.GetTaggedValueAsString('DBMappings', 'DBUseCaseMap', 'Code');
lField.AddField('CODIGO').AsString := lUseCaseCode;
lRequestField.AddField('CODIGO').AsString := lUseCaseCode;
lResponseField := utField.Create;
try
fcxCadastroCasoDeUso.rmEditaObjeto(lField, lResponseField);
fcxCadastroCasoDeUso.rmEditaObjeto(lRequestField, lResponseField);
SendToInterface(lResponseField);
finally
lResponseField.free;
......@@ -135,8 +140,8 @@ begin
begin
lResponseField := utField.Create;
try
lField := utField.Create;
fcxCadastroCasoDeUso.rmIncluiObjeto(lField, lResponseField);
lRequestField := utField.Create;
fcxCadastroCasoDeUso.rmIncluiObjeto(lRequestField, lResponseField);
SendToInterface(lResponseField);
finally
lResponseField.free;
......@@ -162,19 +167,19 @@ begin
// lFieldCasoDeUso.AddAttribute('OID').AsInteger := FOID;
lFieldCasoDeUso.AddAttribute('nome').AsString := edtNome.Text;
lFieldCasoDeUso.AddAttribute('descricao').AsString := edtDescricao.Text;
if cbxEntidade.ItemIndex <> -1 then lFieldCasoDeUso.AddAttribute('idoentidade').AsInteger := integer(cbxEntidade.Items.Objects[cbxEntidade.ItemIndex]);
if cbxCategoria.ItemIndex <> -1 then lFieldCasoDeUso.AddAttribute('idocategoria').AsInteger := integer(cbxCategoria.Items.Objects[cbxCategoria.ItemIndex]);
if assigned(fFormIcones.ltvIcones.Selected) then lFieldCasoDeUso.AddAttribute('idoicone').AsInteger := integer(fFormIcones.ltvIcones.Selected.Data);
if cbxEntidade.ItemIndex <> -1 then lFieldCasoDeUso.AddAttribute('idoentidade').AsInteger := utAttribute(cbxEntidade.Items.Objects[cbxEntidade.ItemIndex]).AsInteger;
if cbxCategoria.ItemIndex <> -1 then lFieldCasoDeUso.AddAttribute('idocategoria').AsInteger := utAttribute(cbxCategoria.Items.Objects[cbxCategoria.ItemIndex]).AsInteger;
if assigned(fFormIcones.ltvIcones.Selected) then lFieldCasoDeUso.AddAttribute('idoicone').AsInteger := utAttribute(fFormIcones.ltvIcones.Selected.Data).AsInteger;
lFieldSistemas := lFieldCasoDeUso.AddField('sistemas');
for I := 0 to ltvSistema.Items.Count - 1 do
if ltvSistema.Items[i].Checked then
lFieldSistemas.AddField('ido').AsInteger := integer(ltvSistema.Items[i].Data);
lFieldSistemas.AddField('ido').AsInteger := utAttribute(ltvSistema.Items[i].Data).AsInteger;
lFieldOperacoes := lFieldCasoDeUso.AddField('operacoes');
for I := 0 to ltvOperacao.Items.Count - 1 do
if ltvOperacao.Items[i].Checked then
lFieldOperacoes.AddField('ido').AsInteger := integer(ltvOperacao.Items[i].Data);
lFieldOperacoes.AddField('ido').AsInteger := utAttribute(ltvOperacao.Items[i].Data).AsInteger;
end;
procedure TCadastroCasoDeUso.SendToInterface(piField: utField);
......@@ -392,7 +397,10 @@ begin
lElementSelector.ClearSelectableModels();
lElementSelector.AddSelectableModel('UMLPackage');
if lElementSelector.Execute('Selecione o local para criar o caso de uso') then
begin
UseCasePackage := lElementSelector.GetSelectedModel as IUMLPackage;
edtPackage.Text := UseCasePackage.PathName;
end;
end;
procedure TCadastroCasoDeUso.btnSalvarClick(Sender: TObject);
......@@ -414,12 +422,6 @@ begin
try
if assigned(fUMLUseCase) then
begin
// if (assigned(fUseCasePackage.FindByName(edtUseCaseName.Text))) and (edtUseCaseName.Text <> fUMLUseCase.Name) then
// begin
// application.MessageBox('Caso de uso j existente no pacote selecionado.','StarUML', MB_ICONEXCLAMATION + MB_OK);
// exit;
// end;
SalvaObjeto;
fUMLUseCase.Name := edtUseCaseName.Text;
end
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment