Where can I find DeskUtil documentation? - delphi

Where I can find DeskUtil documentation/help? I am trying to build Delphi add-in and I have some troubles with saving/registering/loading the add-in docking form into the active IDE desktop. I am using the DeskUtil methods after reading some examples here and there, but, examples don’t go deep in how these methods work, and in the mechanism of the IDE loading/destroying. Is there any official documentation/help about the DeskUtil or the OpenTools Api? In other words, how and where can developer like me get deep knowledge (not articles or demos) about IDE and OpenTools Api?
Thanks for your help.

You can have a look at the GExperts "Erik's Open Tools API FAQ" and also search for examples in the GExperts code.

Also see articles by Allen Bauer:
Opening Doors: Notes On the Delphi ToolsAPI by its Creator
Opening Doors: Notes On the Delphi ToolsAPI by its Creator - Part 2
Opening Doors: Getting Inside the IDE
Units and Forms required to create Dockable IDE Forms

Related

How to add my own items in the Delphi Options dialog

How do I add my own items to the Delphi Options dialog (Tools\Options)? For example, see the Project JEDI options.
For example it is necessary for me that there there was my bookmark with options of compilation for mine a component and new projects.
For example there is at me a new project, in it the panel and on it 3 checkboxes how it there to add?
The key to this are the INTAEnvironmentOptionsServices and INTAAddInOptions interfaces. Support for add-ins customising the options dialog was added to the Tools API in XE. Your add-in needs to supply an implementation of INTAAddInOptions. You register the add-in options by calling INTAEnvironmentOptionsServices.RegisterAddInOptions.
If you can't work out how to do this from the Tools API source code then I suggest you download the JCL source code to use as your template.
Uwe Schuster's blog article on the subject gives a general overview but I can't find any other articles that cover this topic.

How to implement this type of Docking?

Take a look at this Open Source Application called Construct
.
It uses Panel Docking where you can drag a Panel, and then some on screen visual aids to show where the Panel may be docked, as seen below:
Before Dragging/Docking
During Dragging/Docking stage
When dragging/moving one of the Dock Panels the Window now looks like this:
As you can see, when dragging/moving the Object Panel it displays the visual aids of where the Panel can be docked. It also moves around like a free Window when not in a docking position. The same applies when dragging/moving other Dock Panels such as the Project Panel in this example.
This is an example of an Application using this, I have also seen other Applications employ this too.
Is there a Delphi way of acheiving this behaviour?
I have some panels that take up some space, freely moving or docking them would be useful feature to implement.
Thanks.
UPDATE
It seems the LMD Components offer such a component which I may look into.
See this old question for docking library.
Recommendations for a docking library for Delphi / C++Builder?
Why there shouldn't be a way of achiving this in Delphi?
I don't know if there are free components around but DevExpress offers a library for it and other vedors for sure have such libraries in there portfolio too.
If you're interested in coding such a thing your self, you might take a look at Dockpanel Suite it is written in C# but the WinAPI fundementals behind it are the same.
Addition:
does anyone know of good delphi docking components?
There's a new release of the DevExpress docking components coming soon. It includes the Visual Studio style docking that you show in your image.
See this link for more information: http://community.devexpress.com/blogs/ctodx/archive/2011/04/26/sneak-peek-visual-studio-dock-style-for-vcl-docking-library-coming-in-v2011-1.aspx
Delphi supports this out of the box. There's a limited demo (meaning they didn't demonstrate all of the functionality) in the Samples (Demos) folder, depending on which version of Delphi you're using. In Delph7, for instance, it's in $(DELPHI)\Demos\Docking, and in D2007 and up you'll find it in C:\Documents and Settings\All Users\Documents\RAD Studio\x.0\Demos\DelphiWin32\VCLWin32, where x.0 refers to the Delphi version. The locations for D2009 and XE will vary if you've installed on Vista or Win7, but I'll trust you can track them down; if you can't, use the Start Menu's Embarcadero RAD Studio <version>, and choose Samples.
There's also the TDockTabSet component included in later versions of Delphi, and you can find an article and code at Embarcadero Developer Network explaining and demonstrating it's use. (TDockTabSet is pretty much what's used in the IDE for docking now, I believe.)
I did a few intro videos on dockable forms in Delphi, there are available here and here. They're also on YouTube - Part 1, and Part 2. They are pretty introductory however.

Which spellings checker to use?

A customer would like it if a spellings checker is added to an existing Delphi application. The texts that need to be checked are in multiple memo fields and the language is Dutch, which tends to limit my options.
So, what are my options for adding a dutch spellings checker to a Delphi/WIN32 application?
(Preferably something not webbased because the client has no direct Internet connection.)It doesn't have to be free! The customer will pay if it's possible. :-)Addictive Software offers an option, but I prefer to have more alternatives.
I use Addict, lots of languages (including Dutch) and good support:
AddictiveSoftware.com
Addictive software, as mentioned above, is one of the main ones.
But the TRichView component includes parsers for several spell-checkers that work out with Delphi. Check out their list and links that include:
Addict 3 and 4 by Addictive Software (shareware VCL component)
HunSpell by László Németh (DLL, open source)
ExpressSpellChecker by Developer Express Inc. (commercial VCL component)
EDSSpell 7 by OneDomain (shareware VCL component)
ASpell by Kevin Atkinson (DLL, license: LGPL)
VSSpell 8.0 by ComponentOne LLC (shareware ActiveX, discontinued)
VSSpell 3.0 by Visual Components, Inc (shipped with some versions of Delphi, ActiveX)
LS Speller by Luzius Schneider (based on former work of Alexander Obukhov) (freeware, uses ISpell and MS Office spell checkers (via CSAPI)).
Polar SpellChecker Component by Polar (shareware ActiveX)
Jedi JVCL library has a JvSpellChecker component with a demo (in jvcl\examples\JvSpellChecker fodler)
Alternate option using MS Word:
Spell Checking from Delphi code using MS Word - Office Automation in Delphi
http://delphi.about.com/od/kbcontrolole/ss/word_automation.htm
Hunspell is a great spell-checker, used in OpenOffice, with up-to-date dictionnaries.
See the corresponding download at CodeCentral.
I've implemented a self-expanding version (i.e. the library and the dictionary files are extracted from the main Delphi exe resources on request), available as part of our SynProject FOSS application.
DevExpress Spell check is the best I have found so far, but it is not free.
http://www.devexpress.com/Products/VCL/ExSpellChecker/

Open source editors using (Uni)SynEdit [except Dev-PHP/Dev-C++]

does anyone know some good open source editors / IDES that are using SynEdit?
this is very powerful control, but it definitely lacks some advanced demos...
The Lazarus IDE is built around SynEdit. That's about as advanced a "demo" as you can get.
Innosetup uses SynEdit and you can get the source to examine for free. I found the demos that come with Synedit quite acceptable though.
Bri
My favorite programmer's editor, ConTEXT Editor that recently has turned Open Source.
The project is hosted on Google Code.
There is Syn text editor. Somewhat dated but should give you an idea.
Tinn-R uses the latest version (UNICODE) of SynEdit:
Web page
SourceForge
GitHub

How do I write a Delphi Galileo IDE Expert?

HI,
I want to write a small Delphi IDE Expert for D2007-D2009 (aka. Galileo IDE) in order to show a window with a TMemo instance on it, with all the component names and classes from the form designer in the above memo. The selected component will be marked with a '*'. The expert should appear on a menu/toolbar and have a shortcut assigned.
How do I do?
Ps: Actually the real code is more complicated than that, but I want to have a general framework to get started.
TIA
I did my first OTA with help of these links:
Erik's Open Tools API FAQ and Resources (The author of GExpert)
Delphi Open Tools API from Jim Kueneman - Mustangpeak
Delphi Open Tools API from RayRay Lischner
They are not updated to the latest versions, but they will you good start point and most of the code will work with the last version, I tried them with D2007.
There are links to articles describing how to write an OTA plug-in here:
http://delphi.about.com/od/objectpascalide/a/wizardsexperts.htm

Resources