PB IDE, just like any other windows application is an MDI application. It is made up of several windows and menus and toolbars. When you open the IDE, it opens up with no Workspace. You need to create/open a Workspace (using options in File menu) to work on a specific project. A Workspace wraps around one or more Targets which in turn includes one or more Libraries. The libraries contain the objects. The objects themselves have properties and methods like in any Object oriented environment. The objects also contain events as Powerbuilder is an event driven programming environment.
Navigation through the project hierarchy is available through a tool called System Tree. The IDE also contains a full menu toolbar called Powerbar that lets you perform several tasks including creating various components in the project hierarchy. The IDE is made up of several individual tools and wizards, which are called Painters. There is a painter for each type of object and each task in PB.
System Tree & Powerbar
The System Tree is a project explorer. This let’s you see the project hierarchy mentioned above, in a tree like fashion. The TreeView object fits this hierarchical structure perfectly. The topmost parent in the tree is the Project Workspace. You can drill down targets and libraries to object properties and methods here. You can expand or collapse at any level in the tree. You can open any existing objects in the System Tree (by double-clicking on them).
Powerbar is the Powerbuilder menu Toolbar containing buttons for important menu items. You can create new objects by Clicking on the “New” button in Powerbar (or File->New option in the menu).
Clicking on New opens up a pop-up window that has several options (buttons) to open various wizards and tools in PB. You can create workspace, target, PB objects including windows, menus, datawindows from here. You can also open up several tools and wizards, such as Library explorer, Database wizard, File Editor, PB Profiler etc, by creating “New” instances of these. Every such wizard or tool in PB is called a Painter.
Fig 1 – Powerbuilder System Tree & Powerbar
Fig 2- New Option in Powerbar leads to “New” options Pop-up
As mentioned above Powerbuilder IDE is essentially made of several Painters. Each specific component type has it’s own Painter (Object Editor) and several tasks have associated Painters (Tools or Wizards). So you will see Window Painter, Datawindow Painter, Database Painter, Library Painter etc. Each Painter is self-contained unit and has it’s own menu (and toolbar), a control(s) list and properties sheet. As you can see, Powerbuilder IDE itself is designed in an object oriented way.
You open the individual component painters when you open an object in System Tree View or when Click on New on he menu bar. Several task and tool painters can be opened in Powerbar.
Here are some of the Painters are available in PB:
- Application Painter
- Window Painter
- Menu Painter
- DataWindow Painter
- Function Painter
- User Object Painter
- Database Painter
- Library Painter
- Project Painter (this is used to build applications – sort of compiler/linker options window; more about this later).
PB IDE – Other parts
Apart from these, the IDE UI has the following components:
An Output (child) Window which shows all the messages from the PB IDE environment, such as compiler outout, error messages etc.
A To-Do List Popup – Here you can enter a “todo” list. You can enter your own laundry list of things to be done in a project. Some of the wizards in PB also create To-Do entries automatically.
PB IDE includes a Browser window, which lists out all the objects in the project. This tool is very useful in locating objects in a large project with lot of libraries. As of version 10.5, it does not have a search capability yet, but you can navigate through libraries and types of objects to easily locate an object. Once found, you can “Edit” the object.
There are also several tools and wizards available in PB. Application Profiler, Debug Window, Database Painter, EA Server Profile etc. Each of these have special Toolbars attached to them.
See below link for more information (The link is for PB 11.0, but still applicable to any version > 8.x in general).