» Home

  » Developer Guide


Brass SSE Developer Guide - Welcome To SSEdit!

 

A Quick Tour of SSEdit

This page is just a brief tour of SSEdit and an explanation of some of its features. You'll get used to SSEdit very quickly as you write your plugins and follow the tutorials. If you've used any Microsoft IDE before (especially VB6 or Visual C++ 6) then most of SSEdit will be immediately familiar.

 

The Main Window

Here's an example main window of SSEdit, with a plugin SSN (source code) loaded:

1. Main Toolbar: The toolbar provides quick-access to all the commonly used features of SSEdit. It's covered in more detail below.

2. Handler Wizardbar: Plugins are based around a handler system, just like any GUI development system (MFC, Visual Basic, Delphi etc). When the plugin needs to respond to an event - a mouseclick, a request to redraw its display, a resize of the display etc - Brass calls a handler function within the plugin. The Handler Wizardbar knows about every handler available to a plugin, so to add a new event handler to your plugin simply select it from the drop down list and click the Add Handler button.

3. SmartHelp: Sometimes it's hard to remember the exact syntax and use of a command in any language. The SmartHelp bar tracks your code and displays context-sensitive help as you develop. If you're reading through some plugin source, simply hover the mouse over a statement and the context help will appear as well.

4. Folding Margins: If you're developing a plugin with lots of features it can sometimes get a bit hard to see what pieces of code you're working on. The SSEdit folding margin system allows you to collapse functions down to a single line so the function body is hidden from view. It doesn't affect your code, but it does make things much easier to read!

5. Status and Tip Bar: As well as the normal status prompts you'd expect from any application, SSEdit links the Handler Wizardbar to this tip bar. As you select different handlers in the Wizardbar a description of what they're used for appears here.

6. Autodocs Button: As part of the SmartHelp system, SSEdit is linked to the online Shiny Developer Guide. When a language feature, statement or function is shown in the SmartHelp bar you can click the AutoDocs button to be taken to its language reference page.

7. Code Editor: The most important part of SSEdit, this is where you write your plugin code! The code editor has all the standard features of a modern development environment, as well as syntax highlighting, autocompletion and auto-formatting.

 

The Main Toolbar

The toolbar provides quick-access to all the commonly used features of SSEdit.

1. Panel Designer: The 100% Configuration System is one of the most powerful features of Brass - it allows any user to redesign their plugins as they want, simply by dragging and dropping. When creating your plugin you can use the Panel Designer to create a default layout that includes fully skinned controls such as buttons, lists and editboxes.

2. Set Plugin Info: Plugin developers can set the name, version, author and description of their plugins through this option. When a plugin is loaded in Brass this information is displayed for the world to see!

3. Compile Plugin: Unlike other applications, Brass does not use any scripting languages for plugins. When you've finished your plugin it's compiled to bytecode and run inside a virtual machine for maximum performance.

4. Run In Brass: SSEdit is fully integrated with Brass. When a plugin is compiled and run, SSEdit notifies Brass that a new version of the plugin has been created. Any older versions are unloaded, the new version is installed and the plugin is run in Debug mode.

5. Extension Wizard: Brass doesn't limit you to just the features of the base Shiny language. Using the Extension Wizard you can link your plugin with extension functions which provide powerful addons to the language.

6. Code Wizard: There's always some piece of code you end up using in every plugin, or some syntax you can't quite remember. The Code Wizard contains a set of sample plugins and code snippets to make development easier. Can't remember how to open a website and read a web page? No problem, simply select the snippet from the Code Wizard and insert it into your plugin!

7. Tokens, Tree and Bytecode Viewers: SSEdit, Brass and the Shiny language were developed from scratch. That means SSEdit can give you unprecedented access to the internals of the Shiny language. Using these viewers you can see exactly how your plugin is compiled from source code to executable.

8. Pack and Distribute Wizard: You've coded your plugin and now you're ready to share with the world - it's the right thing to do! The Pack Wizard compresses your plugin and any resources it uses (images, data files etc) into a single .SSP file for distribution. You can give your plugin .SSP to anyone and they can install it directly into Brass using the "Install SSP" option in the Brass File menu.

9. Handler Wizardbar: Plugins are based around a handler system, just like any GUI development system (MFC, Visual Basic, Delphi etc). When the plugin needs to respond to an event - a mouseclick, a request to redraw its display, a resize of the display etc - Brass calls a handler function within the plugin. The Handler Wizardbar knows about every handler available to a plugin, so to add a new event handler to your plugin simply select it from the drop down list and click the Add Handler button.