-
For Release
-
Add Help Section
-
Add Welcome.html
-
Add Getting Started.html
-
Add Control Tutorial
-
Add Layout Tutorial
-
Add Font Tutorial
-
Add Reference Section
-
Add support for subdirectories inside the Media folder... Or create note for
support in the next release
-
Add support for different ScreenTypes
-
Create a new class called ScreenInfo (FileInfo and ScreenType)
-
Modify Parser and Designer to use the ScreenInfo class instead
of FileInfo for all Screen methods and properties.
-
Modify MpeScreen to handle three ScreenTypes:
-
Window (Default)
-
Dialog
-
OnScreenDisplay
-
Modify explorer:
-
Use ScreenInfo class in TAG instead of FileInfo
-
Add menu item to select and change screen type
-
Use different colored icons to represent each screen type
-
Validate Controls
-
Check Actions
-
Check Tag Collection
-
Check Type Name
-
Check the Save/Load methods for controls
-
Ensure that both the reference and
non-reference cases are handled
-
Change Explorer for Fonts and Controls to create a copy of
the resource before editting, so that edits can be cancelled more easily.
-
Add MpeTag and MpeTag Collection so that unknown
controls can be manipulated
-
Add events and listeners for collection so that when tags are
changed, added, or removed, the control knows about it and can set the modified
flag appropriately
-
Before openning a skin, check to see if one is already open,
and prompt for Save All, then close open resources.
-
Add "New Skin" feature from file menu
-
Opens Dialog
-
Create Blank
-
Create using another skin as a template
-
When creating skin, check to see if one is already open,
and prompt for Save All, then close open resources.
-
FIX ToggleDesignerStatus and StatusChangedEvent
-
Create MpResourceDesigner
-
Everthing inherits from this:
-
ScreenDesigner
-
ControlDesigner
-
ImageDesigner
-
FontDesigner
-
StringDesigner
-
It controls the ResourceMask, PropertyDesig
ner, StatusBar, ToolBar, and MenuBar
-
It handles all keyboard, mouse, control added, and control
removed events
-
Fix: Clicking the right mouse button while dragging screws up the drag
operation
-
When controls are added, they should be added to the
controlList in the property manager (Same for remove)
-
Create MpResource and everything inherits from this
-
Create ControlMask class which is simply a manager of 4
controls for the top, left, right, and bottom sections of the mask
-
The ControlMask will manage these inner controls and ensure
they are shown and added to correct parent
-
They must always be ontop!
-
Mouse and Keyboard actions should be trapped and passed on to
the designer
-
MpeStatusBar
-
Inherit from StatusBar
-
Create Panels and Use OwnerDraw to draw custom panels
-
IconPanel
-
MessagePanel
-
LocationPanel
-
SizePanel
-
ProgressPanel
-
MpeExplorer
-
Implement Drag and Drop, so that items can be dragged from
the Tree into the ResourceDesigner
-
Need to add UniqueID to new control... Maybe from the
MpResourceCollection???
-
Add features to MpContainer
-
SendToBack
-
BringToFront
-
SendBack
-
BringForward
-
Positioning Property
-
Horizontal Flow
-
Vertical Flow
-
Grid
-
MpeParser Updates
-
Parse entire screen file and return an MpWindow contiaining
all contols
-
Save screen file
-
Save string file
-
Load everything and give better status while doing so...
-
Copy Contstuctor for MpControl
-
Use one CreateControl() method as follows:
-
CreateControl(Type type, XPathNodeIterator iterator, bool
reference)
-
If reference is true then the control is to be loaded from
the given iterator for the references.xml file
-
If reference is false, then the control is to be first
initialized with reference values then loaded from the given iterator for
the screen.xml file
-
Add icons and * to editor tab manager indicating what type of
edit is being done and if the file needs to be saved.
-
Create MpFont and support in the parser for finding fonts by
name and creating a font list from the fonts.xml file
-
Create custom font selector for Property Manager (Allows
fonts to be selected)
-
Create custom selector for images for Property Manager
(Allows images to be selected)
-
Create custom string selector for labels pulled from language
files... The textbox has to be edittable as well, so that you can simply
type something instead of picking a value from the skin table
-
Create toolbar using the inert button control...
-
Fix status bar to be regular status bar without panels...
Then add a progress bar to it... Speed it up!!!
-
Add colors and icons for warning, info, error, debug
-
Use log4net to log status messages
.
-
Simple Log View when double click the message icon on status bar. this log
viewer can be docked anywhere.
-
When moving elements use the mod operator to ensure it snaps
to grid
-
Add snap to grid propery
-
Add grid size property
-
For controls, add a UseImageSize property that will set the
width/height of the control to the width/height of the controls background
texture
-
Make the size Property readonly (this is very difficult to accomplish since
attribute values are set at compile time)
-
SizeLock the control
-
Add SizeLock and LocationLock to the controls and render
these appropriately.
-
SizeLock - color the nodes controldark (control color when
false)
-
LocationLock - color the panel background controldark
(control color when false)
-
Add support to parser for saving changes to references.xml
-
When closing Editor Panel promp for save if the file has been
modified.
-
Implement CancelEdits() inside ControlEditor.
If an edit is cancelled, the control must be reloaded from the
reference.xml file. This uses the ResetControl() implemented by the
SkinParser.
-
OnExit... Check to see if any modified resources exist... If
so, prompt user to save the resource...