My Self . . .

My photo
India
Im Simple..I love makin frnds nd believe deeply in frndship nd love nd all the gud things...i want to make this world more b'ful..bt dnt knw how ?...

Thursday, July 14, 2011

Revit API 2011: User Interface Changes/Improvements

The 2011 API has a variety of interesting enhancements in the ribbon user interface – making it possible to build applications which more closely match the look, feel and capability of native Revit commands (aside from being relegated to the Add-Ins tab).
In 2010, the first Ribbon release, the API already had access to controls such as:
• RibbonPanel
• Pushbutton
• Stacked Pushbutton
• Pulldown Button
What is new in 2011 are a wide variety of new controls and constructs in the ribbon:
• Combo Box
• SplitButton (like a Pulldown button, but it has a default action)
• TextBox
• SlideOut
I created the following sample ExternalApplication which illustrates the different controls now possible:

Figure 1
If the user has added a SlideOut to the RibbonPanel, any additional controls will be only available on the SlideOut panel – available when you click the down-arrow to the right of the Ribbon Panel name.

Going Deeper
Beyond the new controls, there are some new capabilities a level deeper:
• Images on Pulldown buttons
• Tooltips and Long Descriptions – to provide more detail on how to run your command.
• Tooltip Images – to provide a graphic for your command – a picture is worth a thousand words



General Availability
Another new feature in 2011 is the ability to have an interface (IExternalCommandAvailability) which implements a check for whether your command should be enabled or disabled.
This is useful if your command should only be available in a 3D View, or only if the user has filled out the setup/preferences dialog, or only if they user has pre-selected a certain category of elements. The command will be automatically enabled/disabled as appropriate.
The TaskDialog
One of the new core capabilities of Windows (starting in Vista) is an upgrade for the venerable MessageBox – called the TaskDialog. Revit now provides the TaskDialog on a platform-independent basis. The TaskDialog has all of the capabilities of the old MessageBox, but also has new and interesting capabilities like:
• Expanded Content (visible when the user expands it)
• As many or few buttons as you’d like (Yes/No/Close/Retry/About/etc).
• Up to 4 Command Link buttons with supporting text.
• Checkbox with verification text
• Footer text
Here’s an example showing a bit of everything:



The code required to do a TaskDialog is pretty straightforward:
TaskDialog td = new TaskDialog("Hello World");
td.MainContent = "This is main content";
td.ExtendedContent = “This is shown on demand”;
td.Show();
// or, alternatively – you can use a static method, if you only need the basics:
TaskDialog.Show("The Title", "The Main Instruction");
Conclusion
Revit 2011 provides a good number of new controls and capabilities – it’s nice to be able to make applications that have the feel of native Revit commands.
Posted

No comments:

Post a Comment