mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-04-22 23:19:28 +02:00
MG: fixed view units/forms
git-svn-id: trunk@1440 -
This commit is contained in:
parent
e095b4c22e
commit
256c7e8928
29
ide/main.pp
29
ide/main.pp
@ -3194,7 +3194,11 @@ var UnitList: TList;
|
||||
MainUnitName, Ext, DlgCaption: string;
|
||||
MainUnitInfo, AnUnitInfo: TUnitInfo;
|
||||
MainUnitIndex: integer;
|
||||
ActiveSourceEditor: TSourceEditor;
|
||||
ActiveUnitInfo: TUnitInfo;
|
||||
AForm: TForm;
|
||||
Begin
|
||||
GetCurrentUnit(ActiveSourceEditor,ActiveUnitInfo);
|
||||
UnitList:=TList.Create;
|
||||
try
|
||||
MainUnitIndex:=-1;
|
||||
@ -3204,12 +3208,12 @@ Begin
|
||||
if Project.MainUnit=i then MainUnitIndex:=i;
|
||||
if Project.Units[i].FormName<>'' then
|
||||
UnitList.Add(TViewUnitsEntry.Create(
|
||||
Project.Units[i].FormName,i,false));
|
||||
Project.Units[i].FormName,i,Project.Units[i]=ActiveUnitInfo));
|
||||
end else begin
|
||||
if Project.Units[i].UnitName<>'' then begin
|
||||
if Project.MainUnit=i then MainUnitIndex:=i;
|
||||
UnitList.Add(TViewUnitsEntry.Create(
|
||||
Project.Units[i].UnitName,i,false));
|
||||
Project.Units[i].UnitName,i,Project.Units[i]=ActiveUnitInfo));
|
||||
end else if Project.MainUnit=i then begin
|
||||
MainUnitInfo:=Project.Units[Project.MainUnit];
|
||||
if Project.ProjectType in [ptProgram,ptApplication,ptCustomProgram]
|
||||
@ -3228,7 +3232,7 @@ Begin
|
||||
if MainUnitName<>'' then begin
|
||||
MainUnitIndex:=UnitList.Count;
|
||||
UnitList.Add(TViewUnitsEntry.Create(
|
||||
MainUnitName,i,false));
|
||||
MainUnitName,i,MainUnitInfo=ActiveUnitInfo));
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
@ -3240,12 +3244,13 @@ Begin
|
||||
else
|
||||
DlgCaption:='View units';
|
||||
if ShowViewUnitsDlg(UnitList,true,DlgCaption)=mrOk then begin
|
||||
AnUnitInfo:=nil;
|
||||
for i:=0 to UnitList.Count-1 do begin
|
||||
if TViewUnitsEntry(UnitList[i]).Selected then begin
|
||||
AnUnitInfo:=Project.Units[TViewUnitsEntry(UnitList[i]).ID];
|
||||
if AnUnitInfo.Loaded then
|
||||
SourceNoteBook.NoteBook.PageIndex:=AnUnitInfo.EditorIndex
|
||||
else begin
|
||||
if AnUnitInfo.Loaded then begin
|
||||
SourceNoteBook.NoteBook.PageIndex:=AnUnitInfo.EditorIndex;
|
||||
end else begin
|
||||
if MainUnitIndex=i then
|
||||
Result:=DoOpenMainUnit(false)
|
||||
else
|
||||
@ -3254,8 +3259,13 @@ Begin
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
FCodeLastActivated:=not OnlyForms;
|
||||
DoBringToFrontFormOrUnit;
|
||||
if (AnUnitInfo<>nil) then begin
|
||||
AForm:=SourceNotebook;
|
||||
if OnlyForms and (AnUnitInfo.Form<>nil) then begin
|
||||
AForm:=TForm(AnUnitInfo.Form);
|
||||
end;
|
||||
BringWindowToTop(AForm.Handle)
|
||||
end;
|
||||
end;
|
||||
finally
|
||||
UnitList.Free;
|
||||
@ -5962,6 +5972,9 @@ end.
|
||||
|
||||
{ =============================================================================
|
||||
$Log$
|
||||
Revision 1.223 2002/02/17 19:34:44 lazarus
|
||||
MG: fixed view units/forms
|
||||
|
||||
Revision 1.222 2002/02/11 15:12:00 lazarus
|
||||
MG: started OI events
|
||||
|
||||
|
@ -42,8 +42,10 @@ type
|
||||
ListBox: TListBox;
|
||||
btnOK : TButton;
|
||||
btnCancel : TButton;
|
||||
Procedure btnOKClick(Sender : TOBject);
|
||||
Procedure btnCancelClick(Sender : TOBject);
|
||||
MultiselectCheckBox: TCheckBox;
|
||||
Procedure btnOKClick(Sender :TObject);
|
||||
Procedure btnCancelClick(Sender :TObject);
|
||||
procedure MultiselectCheckBoxClick(Sender :TObject);
|
||||
public
|
||||
constructor Create(AOwner: TComponent); override;
|
||||
end;
|
||||
@ -66,7 +68,7 @@ begin
|
||||
try
|
||||
ViewUnits.Caption:=Caption;
|
||||
ViewUnits.ListBox.Visible:=false;
|
||||
ViewUnits.ListBox.MultiSelect:=MultiSelect;
|
||||
ViewUnits.MultiselectCheckBox.Enabled:=MultiSelect;
|
||||
with ViewUnits.ListBox.Items do begin
|
||||
BeginUpdate;
|
||||
Clear;
|
||||
@ -79,8 +81,9 @@ begin
|
||||
ViewUnits.ListBox.Visible:=true;
|
||||
Result:=ViewUnits.ShowModal;
|
||||
if Result=mrOk then begin
|
||||
for i:=0 to Entries.Count-1 do
|
||||
for i:=0 to Entries.Count-1 do begin
|
||||
TViewUnitsEntry(Entries[i]).Selected:=ViewUnits.ListBox.Selected[i];
|
||||
end;
|
||||
end;
|
||||
finally
|
||||
ViewUnits.Free;
|
||||
@ -144,9 +147,23 @@ begin
|
||||
Left:= Pad;
|
||||
Width:= Self.Width - (Self.Width - btnOK.Left) - (2*pad);
|
||||
Height:= Self.Height - Top - Pad;
|
||||
Visible:= true;
|
||||
MultiSelect:= false;
|
||||
Name := 'Listbox';
|
||||
Visible:= true;
|
||||
end;
|
||||
|
||||
MultiselectCheckBox:=TCheckBox.Create(Self);
|
||||
with MultiselectCheckBox do begin
|
||||
Parent:=Self;
|
||||
Name:='MultiselectCheckBox';
|
||||
Left:=btnOK.Left;
|
||||
Top:=btnCancel.Top+btnCancel.Height+2*pad;
|
||||
Width:=btnOk.Width;
|
||||
Height:=25;
|
||||
Caption:='Multi';
|
||||
Checked:=false;
|
||||
OnClick:=@MultiselectCheckBoxClick;
|
||||
Visible:=true;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
@ -163,6 +180,11 @@ Begin
|
||||
ModalResult := mrCancel;
|
||||
end;
|
||||
|
||||
procedure TViewUnits.MultiselectCheckBoxClick(Sender :TObject);
|
||||
begin
|
||||
ListBox.Multiselect:=MultiselectCheckBox.Checked;
|
||||
end;
|
||||
|
||||
|
||||
initialization
|
||||
{ $I viewunits1.lrs}
|
||||
@ -171,6 +193,9 @@ initialization
|
||||
end.
|
||||
{
|
||||
$Log$
|
||||
Revision 1.9 2002/02/17 19:34:45 lazarus
|
||||
MG: fixed view units/forms
|
||||
|
||||
Revision 1.8 2001/04/04 12:20:34 lazarus
|
||||
MG: added add to/remove from project, small bugfixes
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user