From: eshipman |
|
Subject: Create IDE dockable window |
NewsGroup: borland.public.delphi.opentoolsapi |
Date Posted: 11-Nov-2003 at 11:21:21 PST |
I have a typelib viewer for my own typelibs. I'd like
to make the window dockable in the IDE.
HOW???
|
From: eshipman |
|
Subject: Re: Create IDE dockable window |
NewsGroup: borland.public.delphi.opentoolsapi |
Date Posted: 13-Nov-2003 at 16:32:45 PST |
In article <3fb3e800$1@newsgroups.borland.com>, eb@techie.ZZZcom says...
> eshipman wrote:
> > Sorry Erik, I didn't see that mention. Just a suggestion but it
> > is much easier to read text without serifs, such as Veranda, Arial,
>
> The page should use your default browser font. I only specify a specific
> font for the code samples. You should be able to configure the default
> font in your browser preferences. I could specifically name a font, but I
> prefer it use the user's preferences. Also, finding fonts that are present
> and look nice cross-platform and cross-browser is hard.
>
Yes, you are right, I apparently had the wrong default settings, my
bad...
> > MS Sans Serif, etc. You really need to reformat and space out the
> > articles a little better, too. Your FAQ page looks very cluttered.
>
> Which part looks cluttered? If you have specific suggestions what parts
> need spacing and what tags to change, let me know. It seems OK in Mozilla
> 1.5 and IE 6 to me, but this might just be a difference of opinion. If
> someone wants to reformat things to look nicer and submit the page back to
> me, feel free, but it needs to continue to use the same surrounding
> template as the rest of the GExperts pages.
Sure, I will take care of it soon. An index will be great...
|
From: Erik Berry |
|
Subject: Re: Create IDE dockable window |
NewsGroup: borland.public.delphi.opentoolsapi |
Date Posted: 13-Nov-2003 at 14:28:7 PST |
David Knaack wrote:
> A table of contents linking down to the answer would be nice, so its
> easy to see exactly what frequently asked questions are on the page
> without having to scroll down the page.
I prefer to use the browser's search function, personally (since it won't
miss anything), but if anyone wants to edit the page, add a TOC, and send
it back to me, that seems like something some people would prefer to use.
Erik
|
From: David Knaack |
|
Subject: Re: Create IDE dockable window |
NewsGroup: borland.public.delphi.opentoolsapi |
Date Posted: 13-Nov-2003 at 14:25:14 PST |
A table of contents linking down to the answer would be nice, so its
easy to see exactly what frequently asked questions are on the page
without having to scroll down the page.
DK
|
From: David Knaack |
|
Subject: Re: Create IDE dockable window |
NewsGroup: borland.public.delphi.opentoolsapi |
Date Posted: 13-Nov-2003 at 14:22:36 PST |
eshipman wrote:
> it is much easier to read text without serifs,
Well, its your browser rendering the fonts, set your preferences to
whatever you like best. Only the code snippets specify a specific font.
DK
|
From: Erik Berry |
|
Subject: Re: Create IDE dockable window |
NewsGroup: borland.public.delphi.opentoolsapi |
Date Posted: 13-Nov-2003 at 14:22:23 PST |
eshipman wrote:
> Sorry Erik, I didn't see that mention. Just a suggestion but it
> is much easier to read text without serifs, such as Veranda, Arial,
The page should use your default browser font. I only specify a specific
font for the code samples. You should be able to configure the default
font in your browser preferences. I could specifically name a font, but I
prefer it use the user's preferences. Also, finding fonts that are present
and look nice cross-platform and cross-browser is hard.
> MS Sans Serif, etc. You really need to reformat and space out the
> articles a little better, too. Your FAQ page looks very cluttered.
Which part looks cluttered? If you have specific suggestions what parts
need spacing and what tags to change, let me know. It seems OK in Mozilla
1.5 and IE 6 to me, but this might just be a difference of opinion. If
someone wants to reformat things to look nicer and submit the page back to
me, feel free, but it needs to continue to use the same surrounding
template as the rest of the GExperts pages.
Erik
|
From: eshipman |
|
Subject: Re: Create IDE dockable window |
NewsGroup: borland.public.delphi.opentoolsapi |
Date Posted: 13-Nov-2003 at 13:42:3 PST |
In article <3fb3b2e6$1@newsgroups.borland.com>, eb@techie.ZZZcom says...
> eshipman wrote:
> > I have a typelib viewer for my own typelibs. I'd like
> > to make the window dockable in the IDE.
>
> I have a complete docking example for Delphi 7 here:
> http://www.gexperts.org/opentools/
>
> Erik
>
Sorry Erik, I didn't see that mention. Just a suggestion but it
is much easier to read text without serifs, such as Veranda, Arial,
MS Sans Serif, etc. You really need to reformat and space out the
articles a little better, too. Your FAQ page looks very cluttered.
|
From: Erik Berry |
|
Subject: Re: Create IDE dockable window |
NewsGroup: borland.public.delphi.opentoolsapi |
Date Posted: 13-Nov-2003 at 10:35:49 PST |
eshipman wrote:
> I have a typelib viewer for my own typelibs. I'd like
> to make the window dockable in the IDE.
I have a complete docking example for Delphi 7 here:
http://www.gexperts.org/opentools/
Erik
|
From: eshipman |
|
Subject: Re: Create IDE dockable window |
NewsGroup: borland.public.delphi.opentoolsapi |
Date Posted: 12-Nov-2003 at 10:4:34 PST |
In article <3fb1dcd2@newsgroups.borland.com>,
gerrit@no.spam.for.modelmaker.demon.nl says...
> Hi Eddy,
>
> Can I send you the source by email?
> That would make things much more easy.
>
yes...
mr_delphi_developer at yahoo dot com
Any pointers would certainly be helpful. My boss
wrote this viewer and we would all like it to be
dockable. It only works on our own typelibs, however.
> FocusWindow is declared in DockForm.
> You can use the project browser to inspect unit DockForm
> that is the designide package that you need to include.
>
> Gerrit Beuze
> ModelMaker Tools
>
> > I get a TIDEDockableForm undeclared identifier error on the first line
> > above and if I replace it with TDockableForm I get a nother Undeclared
> > Identifier TIDEDockableFormClass in the second line.
> >
> > Also, where is FocusWindow declared?
|
From: Gerrit Beuze |
|
Subject: Re: Create IDE dockable window |
NewsGroup: borland.public.delphi.opentoolsapi |
Date Posted: 12-Nov-2003 at 8:10:8 PST |
Hi Eddy,
Can I send you the source by email?
That would make things much more easy.
FocusWindow is declared in DockForm.
You can use the project browser to inspect unit DockForm
that is the designide package that you need to include.
Gerrit Beuze
ModelMaker Tools
> I get a TIDEDockableForm undeclared identifier error on the first line
> above and if I replace it with TDockableForm I get a nother Undeclared
> Identifier TIDEDockableFormClass in the second line.
>
> Also, where is FocusWindow declared?
>
|
From: Gerrit Beuze |
|
Subject: Re: Create IDE dockable window |
NewsGroup: borland.public.delphi.opentoolsapi |
Date Posted: 12-Nov-2003 at 8:7:0 PST |
Docking in the IDE only works if your form
is part of an expert: a package or dll that is loaded
by the IDE. It cannot be a standalone app.
To get you started on creating an expert:
check GExperts, they have dockable forms examples as well
www.gexperts.org
In my answer I assumed you knew about the ToolsAPI
and experts and just needed a little hint on how to
make your expert form dockable.
Sorry for the confusion.
Gerrit Beuze
ModelMaker Tools
> > It's contained in a design-time package. As the comment in the code says you
> > need to add the package to the requires clause of your package.
> >
>
> But this is not a package. it is an alread completed app with a form
> that I just want to make dockable into the IDE. I have to build it
> as a package? I tried adding designide60.bpl to the Packages for the
> Project but it didn't get added to the list.
>
> I guess I'm just dense AFA the OTA goes...
|
From: eshipman |
|
Subject: Re: Create IDE dockable window |
NewsGroup: borland.public.delphi.opentoolsapi |
Date Posted: 11-Nov-2003 at 15:12:57 PST |
> procedure ShowIDEDockableForm(Form: TIDEDockableForm);
>
> procedure RegisterIDEDockableForm(FormClass: TIDEDockableFormClass; var FormVar; const FormName: string);
>
I get a TIDEDockableForm undeclared identifier error on the first line
above and if I replace it with TDockableForm I get a nother Undeclared
Identifier TIDEDockableFormClass in the second line.
Also, where is FocusWindow declared?
|
From: eshipman |
|
Subject: Re: Create IDE dockable window |
NewsGroup: borland.public.delphi.opentoolsapi |
Date Posted: 11-Nov-2003 at 14:54:0 PST |
In article <3fb143bd$2@newsgroups.borland.com>, "Ignacio Vazquez"
says...
> "eshipman" wrote in message
> MPG.1a1afb7c457677309896f0@forums.borland.com...
> > Thanks for the tips but I am using D6 and I can not find a DockForm unit
> > or int anywhere.
>
> It's contained in a design-time package. As the comment in the code says you
> need to add the package to the requires clause of your package.
>
But this is not a package. it is an alread completed app with a form
that I just want to make dockable into the IDE. I have to build it
as a package? I tried adding designide60.bpl to the Packages for the
Project but it didn't get added to the list.
I guess I'm just dense AFA the OTA goes...
|
From: eshipman |
|
Subject: Re: Create IDE dockable window |
NewsGroup: borland.public.delphi.opentoolsapi |
Date Posted: 11-Nov-2003 at 13:58:54 PST |
In article <3fb121ac@newsgroups.borland.com>,
gerrit@no.spam.for.modelmaker.demon.nl says...
> Hi,
>
> Delphi 5 - Delphi 7:
>
> Inherit your form (in code) from TDockableForm as declated in package DsnIDE or DesignIDE
>
> Below is an example,
>
Thanks for the tips but I am using D6 and I can not find a DockForm unit
or int anywhere.
|
From: Gerrit Beuze |
|
Subject: Re: Create IDE dockable window |
NewsGroup: borland.public.delphi.opentoolsapi |
Date Posted: 11-Nov-2003 at 18:51:39 PST |
Hi,
Delphi 5 - Delphi 7:
Inherit your form (in code) from TDockableForm as declated in package DsnIDE or DesignIDE
Below is an example,
suppose you have
TForm1, then change the interface
TForm1 = class (TForm) to
TForm1 = class(TIDEDockableForm)
(or inherit immediatly from TDockableForm), check code below)
and to allow registring in a desktop
(can cause loads of serious problems in D6 and D7, D5 is OK)
you should call at startup:
procedure RegisterIDEDockableForm(TForm1, Form1; 'Form1');
and at shutdown:
if Form1 <> nil the
UnregisterIDEDockableForm(Form1);
Gerrit Beuze
ModelMaker Tools
unit IDEDockForms;
interface
uses
Windows, SysUtils, Classes, IniFiles, Forms, Controls, FormEx,
// include DsnIdeXX.dcp or DsnIdeXX.bpi as a runtime
// package to compile this unit.
DockForm;
type
TIDEDockableForm = class (TDockableForm)
public
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
// procedure LoadWindowState(Desktop: TMemIniFile); override;
// procedure SaveWindowState(Desktop: TMemIniFile; IsProject: Boolean); override;
end;
procedure ShowIDEDockableForm(Form: TIDEDockableForm);
procedure RegisterIDEDockableForm(FormClass: TIDEDockableFormClass; var FormVar; const FormName: string);
procedure UnregisterIDEDockableForm(var FormVar);
implementation
procedure ShowIDEDockableForm(Form: TIDEDockableForm);
begin
if Form.Floating then
Form.Show
else
begin
Form.ForceShow;
FocusWindow(Form);
end;
end;
procedure RegisterIDEDockableForm(FormClass: TIDEDockableFormClass; var FormVar; const FormName: string);
begin
if @RegisterFieldAddress <> nil then
RegisterFieldAddress(FormName, @FormVar);
RegisterDesktopFormClass(FormClass, FormName, FormName);
end;
procedure UnregisterIDEDockableForm(var FormVar);
begin
if @UnregisterFieldAddress <> nil then
UnregisterFieldAddress(@FormVar);
end;
constructor TIDEDockableForm.Create(AOwner: TComponent);
begin
inherited Create(AOwner);
DeskSection := Name;
AutoSave := True;
SaveStateNecessary := True;
end;
destructor TIDEDockableForm.Destroy;
begin
SaveStateNecessary := True;
inherited Destroy;
end;
> I have a typelib viewer for my own typelibs. I'd like
> to make the window dockable in the IDE.
>
> HOW???
|
From: Ignacio Vazquez |
|
Subject: Re: Create IDE dockable window |
NewsGroup: borland.public.delphi.opentoolsapi |
Date Posted: 11-Nov-2003 at 15:17:1 PST |
"eshipman" wrote in message
MPG.1a1afb7c457677309896f0@forums.borland.com...
> Thanks for the tips but I am using D6 and I can not find a DockForm unit
> or int anywhere.
It's contained in a design-time package. As the comment in the code says you
need to add the package to the requires clause of your package.
Cheers,
Ignacio
--
The strange part isn't so much that he had an accent. No accent was
detectable. It was just sounds and burbs and gurgles coming from him. He
was a like a chubby, old R2-D2.
- La Üter
|