MEGA Search
20.3 Million


Sign Up
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