Create Custom IntelliPrompt Windows

SyntaxEditor for WPF Forum

Posted 11 years ago by Ian Davis
Version: 12.2.0573

I would like to create custom views within the syntax editor to supply advanced editing. I have two separate features that I would like to test out.

First, create something akin to the resharper hammer:

Second, create something that resembles a checkbox tree control so that the user can check options and have the code change accordingly (appearing just like an IntelliPrompt window, but with the tree instead of a list).

I cannot tell if I should be trying to create custom adornments or custom IntelliPrompt windows to imlement this functionality. Do you have any guidance or help topics that I can look into?

Comments (1)

Posted 11 years ago by Actipro Software Support - Cleveland, OH, USA

Hi Ian,

For the first thing, that looks something like smart tags.  We have smart tags on the TODO list yet and I'll add your request for that item to it.

All our IntelliPrompt functionality at its core is just a popup that shows with a custom control in it.  We don't really have any tips on creating additional types though.  But basically you'd want some provider service that sits on your language to watch for a certain scenario.  When one is found it should create some IIntelliPromptSession object, which would be your custom session.  Your session can inherit IntelliPromptSessionBase as a base class, which is helpful.  The session can also implement event sinks to watch for things like key presses, etc. and handle those appropriately (like close on Esc).  We typically open our Popup with the control content from the OnOpened method override. 

But again you only need to do that if you want to make it use the IntelliPrompt session management, etc.  If you have a very basic need you could just show a popup instead.

Actipro Software Support

The latest build of this product (v24.1.2) was released 2 months ago, which was after the last post in this thread.

Add Comment

Please log in to a validated account to post comments.