This branch of PbSlice has been deprecated in favor of the PbSlice2 routines.  I decided to split the source between core functionality which could either be included directly in projects or as a dll.  This should allow better reuse between projects as well as allow others to use the code without having to use my ui.  I decided to put the source code up for anyone that wanted to see it.  Be aware that as of PbWin 10.03 there are some bugs in this source that cause objects not to get destroyed at all or to get destroyed early.  The code generally still works as long as you don't use it for long. :) This was another reason I decided to start the 2.0 branch.  I wanted to provide fairly extensive testing so I could catch these things much earlier.  My plan is to use this source code at least as reference once I get to the ui part of PbSlice2.

Overview

This is a pre-alpha incubation project.  It is the beginings of a project that treats PowerBasic projects as data.  Currently it will load all files associated with a project by selecting the primary file.  In addition you can select the various files to view them.  It also loads the identifiers from the project and displays them in a list.

Some of the features so far

Pannable/Zoomable interface
Hold the Alt key down and use the mouse wheel to zoom (zooms around pointer) or drag with mouse.  You can also use the arrow keys and the +/- keys.  Right clicking or Home resets the zoom and pan.
Syntax Highlighting
Syntax highlighting browser.  Mouse-wheel, Control+Mouse-wheel, home, end, page up/down, up/down, right/left.
Keyword Casing
Keywords can be displayed with original case, upper case, lower case, or mixed case.
Click to select
Controls don't change when selected.  Click after control selected to change
Color Schemes
ini based color schemes
Two so far, low light and standard color schems.
Toggle buttons
Toggle buttons for individual options.  Click and space bar to toggle
Group Buttons
Group buttons for one of n button selections.  Click to select, up/down arrow keys, first letter selection.
Edit control
Most standard windows features.  Currently missing double/triple click
Filtered listboxes
Standard edit keys, up, down, Ctrl+home, Ctrl+end, Page up, Page down, mouse wheel, click
Location filtered list
configurable start locations
Directory filtered list
Browse file system.  Selecting a file with double-click or enter opens the "project" or all files that file and the files it references, references.
Project filtered list
Browse list of files in a project.  Double-clicking or pressing enter will display the source in the source browser.
Identifier filtered list
Browse list of top level identifiers in the project.

Upcomming

Identifier view
shows source for selected identifier
Utilities
Looking to incorporate various utilities I've written.  New classes, routines, snippets, templates, etc.
Source Editor
Maybe a source editor
Filtered source
Show lines matching filter
Browser
Browse to definition, show references w/history so you can navigate back.
Class view
Show class outline with members.  Selecting a member drills into source.

First two boxes on screen are just base visible controls and aren't selectable.  Also labels aren't selectable.