Tutorial of Eclipse Plugin Development

Eclipse Plugin Development

Plugin Development Environment
Part 1 - Perspective, Views and Actions

This tutorial explains on how to create

  • Create a Perspective.
  • Add a Custom View
  • Create View Actions and Action Sets

Part 2 - Introduction to Table Viewer

This tutorial explains

  • What is a JFace Viewer ?
  • How to create a Table Viewer ?
  • Attaching a Content and Label Provider
  • Display Model on the Table Viewer

Part 3 - Introduction to Cell Editors

This tutorial explains

  • How to attach Cell Editors to Viewers ?
  • Defining CellModifiers & CellEditors
  • Updating Model on Editing

Part 4 - Introduction to Eclipse Wizards

This tutorial explains

  • Contributing Wizards thru plugin.xml
  • Creating Wizard and Managing Lifecycle of a Wizard
  • Creating Wizard Page and Managing Lifecycle of a Wizard Page
  • Handling Multi Page Wizard

Part 5 - Introduction to Commands & Handlers

This tutorial explains

  • Creating a Command using plugin.xml
  • Attaching it to Menu Contribution
  • Attaching it to Toolbar Contribution

Eclipse PDE Fundamentals

A Quick Overview of various Eclipse PDE Topics

  • Perspectives
  • Views
  • Editors
  • Form Editors
  • Dialogs
  • Wizards
  • JFace Viewers
  • Commands and Handlers
  • Rich Client Platform

Eclipse in Pics Series

Quick Reference BlockDiagrams

  • What is an IDE ? Types of an IDE.
  • Extension vs Extension Point
  • Eclipse Delivery Model
  • Eclipse Plugin Architecture
  • Manifest Editor & Its Use
  • Selection Service Model
  • Building Blocks of Eclipse
  • Eclipse IDE Blocks
  • Call Hierarchy of Viewers [Providers]


RCP
ePics
  • IDE & Extension vs Extension Point
  • Eclipse Delivery Model & Eclipse Plugin Architecture
  • Manifest Editor,Selection Service Model & Building Blocks of Eclipse
  • Eclipse IDE Blocks & Call Hierarchy of TreeViewer's Content and Label Provider
Command - An Introduction
  • Create command with org.eclipse.ui.commands.
  • Add command to menu via org.eclipse.ui.menus
  • Define in plugin.xml and run.
Creating an Eclipse Rcp Application
  • Create a minimal RCP application plugin.
  • Add menus using makeActions() and fillMenuBar().
  • Configure and export as an EXE.
Form Page - An Introduction (ANCIT)
  • Create a UI plugin project with necessary dependencies.
  • Define a FormEditor and add a FormPage
  • Implement addPages() to register the page and run the editor
Remove Unwanted MenuItem & Unwanted Prefrence page From RCPApplication)
  • Use MenuManager to hide all menu items
  • In ApplicationWorkbenchWindowAdvisor, use hideActionSet() to hide specific menus
  • Remove unwanted preference pages
NatTable
NatTable Introduction
  • Framework for large, customizable tables.
  • Build tables with layers for features like scrolling and selection
  • Use ListDataProvider and DataLayer for data management.
Nat Table(Custom Column Properties)
  • Implement IColumnPropertyAccessor for custom column data.
  • Set up column, row, and corner headers.
  • Configure popup menus and cell editing support.
NatTable Adding Column Header
  • Create ColumnPropertyAccessor to manage column data.
  • Set up column, row, and corner headers.
  • Combine layers with a grid layer for the table.
Nattable Add Popup Menu
  • Set AutoConfig to false, use ConfigRegistry for settings and UiBindingRegistry for bindings.
  • Use PopupMenuBuilder to create and register a menu.
  • Enable debugging with DebugMenuConfiguration.
Nattable CellEditor Configuration
  • Register CELL_EDITABLE_RULE for text editing in IConfigRegistry.
  • Apply different cell editors for various columns.
Nattable Selection Provider
  • Implement ISelectionProvider for selection support.
  • Connect to SelectionLayer.
  • Use IRowDataProvider for row data.