Skip to content

developers forms

nhmkdev edited this page Sep 19, 2015 · 2 revisions

Developers - Forms

MDI Forms

The various MDI forms are all available to one another via Instance properties. This is primarily for convenience as opposed to wonderful coding style. Any child MDI to the main form has a class name that is prefixed with MDI.

CardMakerMDI

This is the main form of the application. This is a heavy weight form that contains a lot of supporting code. Much of the code could probably be migrated to external classes for easier unit testing. The currently loaded project file is tracked within an instance of this class.

There is a partial class file that contains the Settings that are used throughout the application: CardMakerMDI_Settings.cs

MDICanvas

This form manages all user input on the Canvas. As of this writing it is limited in that it cannot handle adjusting rotated elements in a reasonable (it's difficult) manner. This also manages the zoom level to draw the layout.

MDIDefines

A basic form that shows the current defines and allows the user to right-click to insert them into an Element Definition.

MDIElementControl

This is the main control form for Element settings. There are a few different tabs in a Tab Control to make the visiblity management for the child controls based on Element type ever so slightly easier.

MDIIssues

A very basic list of the issues detected in the Project.

MDILayoutControl

This is the main control form for Layout settings. This also controls which card index is currently being drawn from the Deck.

MDILogger

A very basic list of log messages.

MDIProject

A TreeView containing all the Layouts and their associated references.