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.