Commit 412edb52 authored by Jucelino Fonseca's avatar Jucelino Fonseca

Ajustes

parent 9fd2619c
object ExplorerV2: TExplorerV2
Left = 523
Left = 565
Height = 871
Top = 120
Top = 77
Width = 1387
Caption = 'Model OQL Query'
ClientHeight = 871
......@@ -11751,8 +11751,11 @@ object ExplorerV2: TExplorerV2
ParentColor = False
ParentFont = False
TabOrder = 0
OnQuadClick = SynEditOQLQuadClick
OnDragDrop = memOQLQuery2DragDrop
OnDragOver = memOQLQuery2DragOver
OnKeyPress = SynEditOQLKeyPress
OnClickLink = SynEditOQLClickLink
BorderStyle = bsNone
Gutter.Width = 42
Gutter.MouseActions = <>
......@@ -12212,7 +12215,7 @@ object ExplorerV2: TExplorerV2
LineHighlightColor.Foreground = clNone
OnChange = SynEditOQLChange
OnCommandProcessed = SynEditOQLCommandProcessed
OnProcessCommand = SynEditOQLProcessCommand
OnProcessUserCommand = SynEditOQLProcessUserCommand
inline SynLeftGutterPartList1: TSynGutterPartList
object SynGutterMarks1: TSynGutterMarks
Width = 30
......@@ -13971,6 +13974,7 @@ object ExplorerV2: TExplorerV2
Top = 10
end
object scpAtributoCompletion: TSynCompletion
OnExecute = scpAtributoCompletionExecute
Position = 0
LinesInWindow = 6
SelectedColor = clHighlight
......@@ -14281,7 +14285,7 @@ object ExplorerV2: TExplorerV2
}
end
object scpClasseCompletion: TSynCompletion
OnExecute = scpClasseCompletionExecute
OnExecute = scpAtributoCompletionExecute
Position = 0
LinesInWindow = 6
SelectedColor = clHighlight
......
......@@ -87,15 +87,21 @@ type
procedure FormShow(Sender: TObject);
procedure actResultsPanelExecute(Sender: TObject);
procedure rbSequencialClick(Sender: TObject);
procedure scpAtributoCompletionExecute(Sender: TObject);
procedure scpClasseCompletionCodeCompletion(var Value: string;
SourceValue: string; var SourceStart, SourceEnd: TPoint;
KeyChar: TUTF8Char; Shift: TShiftState);
procedure scpClasseCompletionExecute(Sender: TObject);
procedure SynEditOQLChange(Sender: TObject);
procedure SynEditOQLClickLink(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure SynEditOQLCommandProcessed(Sender: TObject;
var Command: TSynEditorCommand; var AChar: TUTF8Char; Data: pointer);
procedure SynEditOQLProcessCommand(Sender: TObject;
procedure SynEditOQLKeyPress(Sender: TObject; var Key: char);
procedure SynEditOQLProcessUserCommand(Sender: TObject;
var Command: TSynEditorCommand; var AChar: TUTF8Char; Data: pointer);
procedure SynEditOQLQuadClick(Sender: TObject);
procedure SynEditOQLUTF8KeyPress(Sender: TObject; var UTF8Key: TUTF8Char);
procedure tvModelExplorerGetSelectedIndex(Sender: TObject; Node: TTreeNode);
procedure tvModelExplorerItemExpanding(Sender: TObject; Node: TTreeNode; var AllowExpansion: Boolean);
procedure XMLQueryExecute(Sender: TObject);
......@@ -132,7 +138,8 @@ type
function BuscarParcialChildClass(piClassTicket : acClassTicket; piFiltrar: boolean): boolean;
function FindParcialNodeClass(piClassTicketPai : acClassTicket; piFiltrar: boolean):acClassTicket;
procedure PreencherSynCompletionClasses(piSynCompletion : TSynCompletion);
procedure PreencherSynCompletionAtributos(piSynCompletion : TSynCompletion);
procedure PreencherSynCompletionAtributos(piSynCompletion : TSynCompletion;piClassTicket : acClassTicket = nil);
procedure ExecutarSybCompletion(piSynCompletion : TSynCompletion);
protected
procedure CreateParams(var Params : TCreateParams); override;
function Connect : acPersistenceSession;
......@@ -436,6 +443,13 @@ end;
procedure TExplorerV2.rbSequencialClick(Sender: TObject);
begin
end;
procedure TExplorerV2.scpAtributoCompletionExecute(Sender: TObject);
begin
end;
procedure TExplorerV2.scpClasseCompletionCodeCompletion(var Value: string;
......@@ -456,28 +470,91 @@ begin
end;
procedure TExplorerV2.SynEditOQLClickLink(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
end;
procedure TExplorerV2.SynEditOQLCommandProcessed(Sender: TObject;
var Command: TSynEditorCommand; var AChar: TUTF8Char; Data: pointer);
var apoint,temppoint:tpoint;
begin
if Achar = '.' then
begin
PreencherSynCompletionAtributos(scpAtributoCompletion);
scpClasseCompletion.Editor := nil;
scpAtributoCompletion.Editor := SynEditOQL;
//will compare the schema_tablename to a list of available schema names for the current database.
temppoint:=TSynEdit(Sender).CaretXY;
temppoint.y:=temppoint.y+1;
apoint:= TSynEdit(Sender).ClientToScreen(TSynEdit(Sender).RowColumnToPixels(temppoint));
scpAtributoCompletion.Execute('',apoint);
ExecutarSybCompletion(scpAtributoCompletion);
end;
end;
procedure TExplorerV2.SynEditOQLKeyPress(Sender: TObject; var Key: char);
begin
end;
procedure TExplorerV2.SynEditOQLProcessCommand(Sender: TObject;
procedure TExplorerV2.SynEditOQLProcessUserCommand(Sender: TObject;
var Command: TSynEditorCommand; var AChar: TUTF8Char; Data: pointer);
var lClassTicket : acClassTicket;
ls_NameClass : string;
lbMostrarClasse : boolean;
ls_Aux : string;
li_Pos : integer;
p1,zeroPoint : TPoint;
begin
{ p1 := SynEdit1.NextTokenPos ;//logical = byte position
zeroPoint := SynEdit1.PrevWordPos;
//ShowMessage(SynEdit1.TextBetweenPoints[zeroPoint ,p1]);
if Assigned(p1) then
ShowMessage(SynEdit1.TextBetweenPoints[zeroPoint,p1]); }
lbMostrarClasse := true;
ls_NameClass := trim(SynEditOQL.GetWordAtRowCol(SynEditOQL.PrevWordPos));
if ls_NameClass <> '' then
begin
lClassTicket := self.MetaModel.GetClassTicketByName(ls_NameClass);
if Assigned(lClassTicket) then
begin
p1 := SynEditOQL.NextTokenPos ;//logical = byte position
zeroPoint := SynEditOQL.PrevWordPos;
ls_Aux := SynEditOQL.TextBetweenPoints[zeroPoint,p1];
li_Pos := Pos('.',ls_Aux);
if li_Pos > 0 then
begin
PreencherSynCompletionAtributos(scpAtributoCompletion,lClassTicket);
if not Assigned(scpAtributoCompletion.Editor) then
begin
scpAtributoCompletion.Editor := SynEditOQL;
scpClasseCompletion.Editor := nil;
end;
lbMostrarClasse := false;
end;
end;
end;
if lbMostrarClasse then
begin
if not Assigned(scpClasseCompletion.Editor) then
begin
scpAtributoCompletion.Editor := nil;
scpClasseCompletion.Editor := SynEditOQL;
ExecutarSybCompletion(scpClasseCompletion);
end;
end;
end;
procedure TExplorerV2.SynEditOQLQuadClick(Sender: TObject);
begin
end;
procedure TExplorerV2.SynEditOQLUTF8KeyPress(Sender: TObject;
var UTF8Key: TUTF8Char);
begin
end;
......@@ -685,16 +762,24 @@ begin
end;
procedure TExplorerV2.PreencherSynCompletionAtributos(piSynCompletion: TSynCompletion);
procedure TExplorerV2.PreencherSynCompletionAtributos(piSynCompletion: TSynCompletion;piClassTicket : acClassTicket = nil);
var li : integer;
lAttributeTicket : acAttributeTicket;
lClassTicket : acClassTicket;
ls_NameClass : string;
begin
if not Assigned(piClassTicket) then
begin
ls_NameClass := trim(SynEditOQL.GetWordAtRowCol(SynEditOQL.PrevWordPos));
if ls_NameClass <> '' then
begin
lClassTicket := self.MetaModel.GetClassTicketByName(ls_NameClass);
end;
end
else
begin
lClassTicket := piClassTicket;;
end;
if Assigned(lClassTicket) then
begin
piSynCompletion.ItemList.Clear;
......@@ -707,11 +792,20 @@ begin
end;
end;
end;
end;
end;
procedure TExplorerV2.ExecutarSybCompletion(piSynCompletion: TSynCompletion);
var apoint,temppoint:tpoint;
begin
//will compare the schema_tablename to a list of available schema names for the current database.
temppoint := SynEditOQL.CaretXY;
temppoint.y := temppoint.y+1;
apoint := SynEditOQL.ClientToScreen(SynEditOQL.RowColumnToPixels(temppoint));
piSynCompletion.Execute('',apoint);
end;
procedure TExplorerV2.CreateParams(var Params: TCreateParams);
begin
inherited CreateParams(Params);
......@@ -728,7 +822,6 @@ end;
procedure TExplorerV2.FormCreate(Sender: TObject);
var lMetaModelGenOpt: TMetaModelGenerationOptions;
begin
lMetaModelGenOpt.CheckDBAttributeNameLength := true;
lMetaModelGenOpt.CheckDBTableNameLength := true;
......
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