Welcome
to GenghisGenghis is a set of extensions built on top of .NET and integrated with WinForms to provide application-level services in the same flavor as the Microsoft Foundation Classes. Genghis gets its name as the functional heir to Attila, a similar set of functionality built on top of ATL.
Most of the Genghis classes were built by different folks and while every effort was made to keep things consistent by choosing .NET and Windows Forms design techniques, everyone does things their own way.
This work is the work of the individuals involved and does not represent any contribution of their respective employers. You are under no obligation to use any of Genghis at any time, but if you do, you are required to abide by the License.
You can download the latest Genghis source code from here. The Genghis archive includes this page, the source code to the Genghis class library, a series of samples showing off the various classes and a pre-built, signed version of genghis.dll in the redist folder. Notice that some of the samples use the Genghis files directly instead of using the compiled Genghis assembly. Either usage is supported by Genghis (except where it drives the WinForms Designer nuts).
Genghis source code control has been moved to the Genghis CodePlex workspace. Thanks to Rob MacFadyen for hosting the CVS repository with previous versions.
Genghis is written in C#. Building Genghis requires Visual C# or Visual Studio.NET. Visual Studio.NET solution and project files (*.sln and *.csproj) are provided to build Genghis and all the samples. You should be able to load any solution file into Visual C#/Visual Studio.NET and build the project for yourself.
Please be aware that you will not be able to properly sign the release mode Genghis DLL (the private key is not provided in this distribution).
For Visual Studio.NET related build issues, please contact the Off Topic Windows mailing list. This is where the Genghis contributors have their discussions, and most of them will be familiar with Visual Studio.NET builds of Genghis. If you have NAnt related build issues, you should contact Mike Marshall (the Genghis build master) directly.
Thanks to Brad Wilson for the NAnt build scripts for folks without VS.NET.Bugs will now be kept in the Issue Tracker section of the CodePlex Workspace.
Please do not send Chris Sells or any of the other contributors personal email complaining about Genghis. Also please do not post Genghis bug reports to any mailing list. A much better way to contribute to the life of Genghis is to submit the fix along with the bug report.
This group is made up of official Genghis contributors:
If you'd got something you'd like to see contribute to Genghis, please let me know (multiple people are free to collaborate on a single feature).
Feature |
Owner(s) |
Progress |
Screen Shot(s) |
Command line parser |
included |
||
Completion combo |
included |
||
Control hosting status bar |
included |
||
Cursor changer |
included |
||
Custom check state treeview |
included |
||
Custom XP theming controls |
included |
||
File Search Engine |
included |
||
FileDocument class (doc/dirty bit management) |
included |
||
FindReplaceDialog |
included |
||
FolderNameDialog |
included |
||
HandleCollector for the world |
included |
||
Header group box control |
included |
||
Image combo |
included |
||
More robust validation ala WebForms |
included |
||
Most-Recently-Used (MRU) files support |
included |
||
MSN Messenger-style popup window |
included |
||
Multiple Top-Level Windows |
included |
||
Multiple-instance detection |
included |
|
|
Path resolution b/w UNC, local (including SUBST, etc) |
included |
||
Retrieving mapped drives |
included |
||
Retrieving shares |
included |
||
Screen Saver class |
included |
screenshot (sorta : ) |
|
Scrollable Picture Box |
included |
||
Sorting listview (including the little triangle thingy) |
included |
||
Splash Screen class |
included |
||
Status Bar Extender |
included |
||
WebCommandLineHelper |
included |
||
Window serializer |
included |
||
Wizard framework |
included |
||
| HtmlLinkLabel class | Jeff Key | included | screenshot |
| User-resizable panel | Ethan Brown | included | screenshot |
Gradient Progress Bar |
included |
||
Command updating |
sample |
||
Cool bars/Cool menus |
sample |
||
Docking App Bar |
sample |
||
A real image list control |
Matt Wilson (of Attila fame!) |
pending |
|
Advanced layout managers, e.g. grid/table |
pending |
|
|
Command routing |
pending |
|
|
Dynamically docking/undocking windows |
pending |
|
|
href exe-safe serialization framework |
pending |
|
|
Managed HTML display ala a C# port of Mozilla? |
pending |
|
|
Menu/toolbar editing ala Office or VS.NET |
pending |
|
|
Outlook-style Bar |
pending |
|
|
SDI, MDI and Explorer-style application wizard |
pending |
|
|
Tab-based MDI implementation (ala VS.NET) |
pending |
|
|
Tear-off menus |
pending |
|
Note: Anything marked with "sample" means that there's a sample included with Genghis that shows the current implementation of a feature but that it's not done enough to be part of the official Genghis component. Mostly the hold-up is integration with the WinForms Designer.
The Genghis documentation is composed of the C# documentation comments as part of the automated build. Check the .\doc\web\index.html file for the latest version.
SimplePad is an MFC application that should serve as a simple baseline for what Genghis should enable to be built easily. We currently need a raw WinForms implementation to help guide the Genghis development efforts. After building it, use Help->Help Topics to see the list of features that the MFC SimplePad application provides straight out of the wizard (also duplicated here):
The current .NET implementation of SimplePad is now available as one of the Genghis samples. Thanks to Paul Bartrum and Chris Burrows for all their hard work on this!
rmTrack provided the initial hosting space and administration support for Genghis bug tracking and source code control.
Copyright © 2002-2007 The Genghis Group
This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software.
Permission is granted to anyone to use this software for any purpose, including commercial applications, subject to the following restrictions:
This license based on the open source zlib/libpng license. The idea was to keep the license as simple as possible to encourage use of Genghis in free and commercial applications and libraries, but to keep the source code together and to give credit to the Genghis contributors for their efforts. While this license allows shipping Genghis in binary form, if shipping a Genghis variant is the sole purpose of your product, please contact The Genghis Group for a new license.