DocumentsDownloadsWikiCommunityBlogAbout

Extending ENVI

From OpenFlow Wiki

Jump to: navigation, search

For those who want to contribute to the base ENVI framework: ENVI Contributor Guide

Extensibility

The platform is designed for extension and makes it easy to extend in the following ways:

  • Communication - Communicate custom information between your GUI and backend.
  • Control - Provide custom controls for interacting with the GUI.
  • Display - Display additional UI elements like icons or charts, or tweak how topology elements are displayed.
  • User Interaction - Define custom handling of user interactions with topology elements (via the mouse ad keyboard).
  • Layout - Engineer custom topology layouts, or choose from one of many existing jung-based layout engines.


Extensibility Tutorial

Go to the ENVI extension tutorial!

GUI Overview

The project is organized into a number of packages which are described here. The GUI is a multi-threaded application, but most threading issues should be transparent to your extension. The important threads are:

  1. ConnectionHandler contains a BackendConnection thread which listens for received messages and processes them. It also re-establishes a connection to the backend in the event of a disconnection.
  2. The PZManager is responsible for drawing the GUI on the screen. Usually the child class PZLayoutManager or some derivative of it is used in which case the topology is automatically laid out based on a developer-specified JUNG layout.
  3. The Swing event dispatch thread processes callbacks initiated due to GUI events like the UI being resized or the user interacting with the mouse or keyboard.
Copyright 2008 by the OpenFlow Consortium. All rights reserved. Powered by MediaWiki and WordPress.