Wizards for the OMNeT++ IDE András Varga OMNeT++ Workshop March 19, 2010 Malaga, Spain.

Slides:



Advertisements
Similar presentations
Extending Eclipse CDT for Remote Target Debugging Thomas Fletcher Director, Automotive Engineering Services QNX Software Systems.
Advertisements

Extending Eclipse Kai-Uwe Mätzel IBM OTI Labs Zurich
RDz and Process Integration Using Menu Manager and HATS to customize your RDz installation David Myers.
IAAnalyzer: Towards a Model-Driven Modeling and Analysis Framework for C ONNECT(ors) Massimo Tivoli, University of L’Aquila (UNIVAQ)
Goals Give you a feeling of what Eclipse is.
Network Topology Viewer Tool
1 Eclipse Example Guide Example : Java Editor. 2 Introduction l The Java Editor example : »demonstrates the standard features available for custom text.
Copyright © 2006 by The McGraw-Hill Companies, Inc. All rights reserved. McGraw-Hill Technology Education Copyright © 2006 by The McGraw-Hill Companies,
Eclipse Introduction Dwight Deugo Nesa Matic
CIS 234: Integrated Development Environments Dr. Ralph D. Westfall May, 2007.
Views Dwight Deugo Nesa Matic
{ Apache - Click By, By, Anupam Mundale. Anupam Mundale. Viraj Kulkarni. Viraj Kulkarni.
1 Plug-in Development Environment (PDE) Guide. 2 Introduction to PDE l What is PDE: »a tool designed to help you develop platform plug-ins while working.
New Plug-in Template Wizard Present by Kun-Tse Wu.
ANDROID PROGRAMMING MODULE 1 – GETTING STARTED
® IBM Software Group © 2006 IBM Corporation The Eclipse Data Perspective and Database Explorer This section describes how to use the Eclipse Data Perspective,
Creating a Console Application with Visual Studio
Amazon EC2 Quick Start adapted from EC2_GetStarted.html.
Open source administration software for education research administration Lin-Long Shyu System Analyst Kuali Coeus Technical Team Indiana University
Other Features Index and table of contents Macros and VBA.
© 2004 by The McGraw-Hill Companies, Inc. All rights reserved. McGraw-Hill/Irwin Programming the Web Using ASP.Net Chapter 1: ASP.Net Dave Mercer.
#SEU12 Madison Miner Software Engineer EDA, Inc..
Esri UC2013. Technical Workshop. Technical Workshop 2013 Esri International User Conference July 8–12, 2013 | San Diego, California Creating.NET Add-ins.
Duke University Program Design & Construction Course Application Development Tools Sherry Shavor
© 2012 LogiGear Corporation. All Rights Reserved Robot framework.
Oracle Application Express (Oracle APEX), formerly called HTML DB, is a Free rapid web application development tool for the Oracle database.
Definition of the SDK for FIspace Augusto Morales & Hector Bedón UPM.
Wikis are websites where pages can be edited using an online document editor. Users can easily edit and share content. Enterprise wikis are platforms.
Introduction Purpose This course describes the process of installing the KPIT GNU toolchain on your PC. Objective Learn how easy it is to get information.
Arc: AddIns Dr Andy Evans. Java Direct access to ArcObjects Framework inside and outside Arc. Ability to add components to the GUI. Ability to communicate.
Lesson 6. GCSE Computing – programming languages Candidates should be able to:  describe common tools and facilities available in an integrated development.
Working with Data in Windows HRP223 – 2009 Sept 28 th, 2009 Copyright © Leland Stanford Junior University. All rights reserved. Warning: This.
Introduction to Eclipse Plug-in Development. Who am I? Scott Kellicker Java, C++, JNI, Eclipse.
Ontology Engineering and Plugin Development with the NeOn Toolkit Plug-in Development for the NeOn Toolkit June 1st, 2008 Michael Erdmann, Peter Haase,
Program documentation Using the Doxygen tool Program documentation1.
Renesas Technology America Inc. 1 SKP8CMINI Tutorial 2 Creating A New Project Using HEW.
Jan Hatje, DESY CSS ITER March 2009: Technology and Interfaces XFEL The European X-Ray Laser Project X-Ray Free-Electron Laser 1 CSS – Control.
MDHT Architecture Diagram Rama Ramakrishnan 1. Introduction The intent is to capture the high level architecture of the MDHT. The following diagrams are.
Unit 1: Java and Eclipse The Eclipse Development Environment.
Plug-In Architecture Pattern. Problem The functionality of a system needs to be extended after the software is shipped The set of possible post-shipment.
A (very brief) intro to Eclipse Boyana Norris June 4, 2009.
DEV-8: OpenEdge® Architect – Extensibility & Third Party Integration Sunil Belgaonkar Principal Software Engineer Architect Phillip Magnay.
IBM Software Group ® Context-Sensitive Help with the DITA Open Toolkit Jeff Antley IBM October 4, 2007.
CSS – Control System Studio
Eclipse 24-Apr-17.
XmlBlackBox The presentation Alexander Crea June the 15st 2010 The presentation Alexander Crea June the 15st 2010
Low-Level Virtual Machine support for Eclipse C/C++ Development Tooling Petri Tuononen - 17/5/2011.
® IBM Software Group © 2007 IBM Corporation Module 1: Getting Started with Rational Software Architect Essentials of Modeling with IBM Rational Software.
Devanshu Bawa Customization Specialist Logo Business Solutions.
A Quick Look at the EPICS IDE Kenneth Evans, Jr. Presented at the EPICS Collaboration Meeting June 13, 2006 Argonne National Laboratory, Argonne, IL.
Overview Using Plugins Developing Plugins Basic Examples / Demo Outlook Overview Using Plugins Developing Plugins Basic Examples / Demo Outlook Plugin.
New Project Model UI Primary Author: Mikhail Sennikovsky Major contributors: Mikhail Voronin, Oleg Krasilnikov, Leo Treggiari Intel Corporation September,
Chapter – 8 Software Tools.
An EPICS IDE Using Eclipse Kenneth Evans, Jr. Presented at the EPICS Collaboration Meeting June 15, 2006 Argonne National Laboratory, Argonne, IL.
Dr. Abdullah Almutairi Spring PHP is a server scripting language, and a powerful tool for making dynamic and interactive Web pages. PHP is a widely-used,
1 Eclipse Example Guide Example : Java Editor. 2 Introduction l The Java Editor example : »demonstrates the standard features available for custom text.
Plug-In Architecture Pattern. Problem The functionality of a system needs to be extended after the software is shipped The set of possible post-shipment.
Editing and Debugging Mumps with VistA and the Eclipse IDE Joel L. Ivey, Ph.D. Dept. of Veteran Affairs OI&T, Veterans Health IT Infrastructure & Security.
Java IDE Dwight Deugo Nesa Matic
Guide To Develop Mobile Apps With Titanium. Agenda Overview Installation of Platform SDKs Pros of Appcelerator Titanium Cons of Appcelerator Titanium.
Toni Petrina Microsoft MVP for C# Ekobit d.o.o. Controlling and extending development environment.
Information Screen Different options to realize. Idea one – You want this if: It should be easy to provide information ◦ Even for non-technical advanced.
Goals Give you a feeling of what Eclipse is.
COSC-4840 Software Engineering
Working with Data in Windows
Architecture, Components, Configuration
Java Code Review with CheckStyle
Plug-In Architecture Pattern
Presentation transcript:

Wizards for the OMNeT++ IDE András Varga OMNeT++ Workshop March 19, 2010 Malaga, Spain

Motivation New users often find the IDE and the INET / INETMANET frameworks overwhelming – Why not help them to make the first steps? – They want to get a first simple simulation up and running quickly, so that they can start tweaking it – And: why not show off features? (IPv6, Ad-hoc, Mobility, MPLS,…) Eclipse is built to be extended – New tools, new editors, new views,… – New wizards!

IDE Extensibility 1.Eclipse extensibility – features and plug-ins installed in the normal way, Help | Install New software… 2.OMNeT++ IDE loads plug-ins from projects – When user opens e.g. the INET project, jars in its plugins/ folder get loaded automatically! – Users of the project automatically get the UI extension, no extra installation step required! – But writing Eclipse plug-ins is hard 3.Wizards contributed to the File|New dialogs – Easy to write (little/no programming required) – Can be distributed with the project – Also automatically activated when project gets opened

Wizards in the Menu

Example: Topology Generation

What is a Wizard? Technically: – A templates/ folder in the project – With a bunch of text files in it: template.properties: declares wizard name, type, pages, etc..xswt files: XML files that describe the UI of wizard pages.ftl files: will be turned into content, after substituting $variables and #if, #list, etc. constructs (ftl=FreeMarker Template Language)

Wizard-Creation Wizards

Creating a Wizard Let us create a simple “New Simulation” wizard! It should prompt for: – network name – number of hosts – traffic type Files: – In folder inet/templates/newwizard: template.properties wizardpage.xswt network.ned.ftl omnetpp.ini.ftl

Example: Properties File template.properties: templateName = New Network Wizard templateDescription = Wizard with a single input page templateCategory = INET supportedWizardTypes = simulation, project # custom wizard pages page.1.file = wizardpage.xswt page.1.title = New Network page.1.description = Select options below # variables networkName = Network numNodes = 10 trafficType = none

Example: Wizard Page Let us use the “Wizard page from variables” wizard:

wizardpage.xswt (simplified)...

Example: Templated Content omnetpp.ini.ftl: [General] network = ${networkName} … … network.ned.ftl network ${networkName} { submodules: host[${numNodes}]: Host; … }

Extensibility When the FreeMarker template language is not enough: – Java: you can write the code in Java, copy the JAR file into the templates/ folder, and invoke it from FreeMarker – External programs: you can run external programs from FreeMarker, and let them do the job and/or capture their output Easy way to incorporate C/C++ code When XSWT or provided widgets are not enough: – Custom widgets: you can write custom widgets (also compound widgets like table+buttons) in Java – Custom pages: you can write whole custom pages in Java page.1.class = org.example.foo.MyWizardPage

Documentation “IDE Customization Guide”

Wizards Questions, comments? Discussion