As per my discussion with Dave Page: - Replace the generic dialog box that the graphical query builder uses when you right-click a join, and select the join type option. It currently uses an ugly standard dialog. Create a more compact and purpose built one - like the one you get when you add criteria, and click on the 'restricted value' button.
Modifications and addition are as follows: * Introduced couple of new classes for handling operations: + gqbJoinsPanel - Panel for handling the joins in the tab - container for criteria, order & columns panels + gqbJoinsPopUp - Pop up window, when selecting a column from the table list, derived from the gqbColsPopUp + gqbGridJoinTable - Table for handling all the joins data. It handles three columns Source, Join-Type & Destination * Added new images gqbAdd.xpm & gqbRemove.xpm * Renamed wxRestrictionGrid to gqbCustomGrid as we're using the same Grid for handling the criteria(s) and join(s) in the gqbCriteriaPanel and gqbJoinsPanel respectively. * Added one operator [] in gqbArrayCollection for accessing the gqbObject object directory (replacement/accessibility of the object at particular index will be easy and fast). * Removed the context menu "Set Type" removed for join, as this operation will be handled from the joins-panel now onwards.