MetaClip Clipboard Management Utility (Pre-Alpha)
The current build of the MetaClip project includes a basic implementation of the core Clip Manager class library within a loosely MVVM-patterned GUI application written in C#, using WPF with the Prism and Unity frameworks.
The application's main view provides a portable gadget-style interface that offers quick access to collected clips and commands for capturing and restoring clipboard contents encapsulated in a ".clpx" file format and stored in a file system based library.
Figure 1. Main View
The Main View of the MetaClip GUI is intended to act as a convenient utility that can be accessed from within any common Windows application that offers clipboard support, providing streamlined access to stored clips so that they can easily be retrieved into working environments and documents.
Figure 2. Main View with Context Menu
The Main View also provides context menu access to commonly-used functions and tool bar access to other application features.
Figure 3: MetaClip Capture View
The Capture View allows clipboards content to be quickly and conveniently named and categorized for later restoration and reuse.
Figure 4. Category Management View
The Category Management View provides the ability to create and delete categories of clips and to set a default filter for the main clip view.
Figure 5. Library Management View
The Library Management View allows users to view and modify current MetaClip library settings and to export an existing clip library to another location for backup archiving or sharing.
MetaClip Application Object Domain
The following class diagram depicts the classes that currently make up the MetaClip object domain.
Clip Manager Core Library (Pre-Alpha)
The Clip Manager Library (ClipMgrLibrary namespace) provides three interrelated objects for working with the contents of the Windows clipboard:
ClipMgrLibrary.ClipFormats
Constructors |
|
ClipFormats() |
Default constructor (no parameters). Creates a new instance of the ClipFormats class. |
Public Properties |
|
Data |
Property that contains object data conforming to the IDataObject interface from the System.Windows.Forms.Clipboard. |
Format |
String property that contains the name of the corresponding format of the IDataObject. |
ClipMgrLibrary.Clip
Constructors |
|
Clip Constructor() |
Default constructor (no parameters). Creates a new instance of the Clip class. |
Public Properties |
|
Category |
Stores category metadata associated with the clip. |
ClipData |
A collection of ClipFormat objects containing the formatting metadata and clipboard object data needed to preserve and restore clipboard contents. |
ClipName |
A string representing the name of the clip. |
ClipMgrLibrary.ClipManager
Constructors |
|
ClipManager() |
Default constructor (no parameters). Creates a new instance of the ClipManager class. |
Public Methods |
|
FetchClip(string filePath) |
Deserializes a clip object containing stored clipboard content from the specified file path, if the file exists. Uses binary serialization. |
MakeClip(string name, [string category]) |
Makes a serializable Clip object from the current contents of the System.Windows.Forms.Clipboard and returns it to the caller. |
RestoreClip(ClipMgrLibrary.Clip clip) |
Restores the Clip object passed into the method to the System.Windows.Forms.Clipboard. |
StoreClip(string filePath, ClipMgrLibrary.Clip clip) |
Serializes the Clip object passed into it to the specified file path. Uses binary serialization. |
ValidateClip() |
Tests to see if the System.Windows.Forms.Clipboard contains at least one valid data format for storage and returns true if it does. |