Welcome to Genghis

Genghis 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.

Disclaimer

Most of the Genghis classes were built by different folks and while every effort was made to keep things consistent by choosing .NET and WinForms 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.

Installation

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).

Source Code Control

Help on using CVS with Genghis is available here. Thanks to Rob MacFadyen for hosting and Brad Wilson for documenting CVS for Windows folk.

Building Genghis

Help on building Genghis is available here. Thanks to Brad Wilson for the NAnt build scripts for folks without VS.NET.

Bug Reports

Th e bug tracking system for Genghis has been graciously donated by Rob MacFadyen, developer of rmTrack. Bugs can be logged or viewed at the Genghis rmTrack site. Use guest/guest as the login (browser cookies required).

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.

Submission Guidelines

The Genghis Group

This group is made up of official Genghis contributors:

Who Does What

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

Chris Sells

included

screenshot

Completion combo

Chris Sells

included

screenshot

Control hosting status bar

Ethan Smith

included

screenshot

C ursor changer

Shawn Wildermuth

included

screenshot

Custom check state treeview

Chris Sells

included

screenshot

Custom XP theming controls

Matthew W. Adams et. al.

included

screenshot

File Search Engine

Mike Marshall

included

screenshot

FileDocument class (doc/dirty bit management)

Chris Sells

included

screenshot

FindReplaceDialog

Ramakrishna Vavilala

included

screenshot

FolderNameDialog

Chris Sells

included

screenshot

HandleCollector for the world

Ethan Brown

included

screenshot

Header group box control

Matthew Adams

included

screenshot

Image combo

Horst Veith

included

screenshot

More robust validation ala WebForms

Michael Weinhardt

included

screenshot

Most-Recently-Used (MRU) files support

Michael Weinhardt

included

screenshot

MSN Messenger-style popup window

Mike Marshall

included

screenshot

Multiple Top-Level Windows

Chris Sells

included

screenshot

Multiple-instance detection

Chris Sells

included

 

Path resolution b/w UNC, local (including SUBST, etc)

Ethan Brown

included

screenshot

Retrieving mapped drives

Ethan Brown

included

screenshot

Retrieving shares

Ethan Brown

included

screenshot

Screen Saver class

Shawn Van Ness

included

screenshot (sorta : )

Scrollable Picture Box

Husein Choroomi

included

screenshot

Sorting listview (including the little triangle thingy)

Horst Veith

included

screenshot

Splash Screen class

Peter Foreman

included

screenshot

Status Bar Extender

Chris Sells

included

screenshot

WebCommandLineHelper

Chris Sells

included

screenshot

Window serializer

Paul Bartrum

included

screenshot

Wizard framework

Shawn Wildermuth

included

screenshot

Command updating

Paul Bartrum

sample

screenshot

Cool bars/Cool menus

Chris Burrows

sample

screenshot

Docki ng App Bar

Dean Cleaver

sample

 

A real image list control

Matt Wilson (of Attila fame!)

pending

 

Advanced layout managers, e.g. grid/table

Matthew Adams

pending

 

Command routing

Paul Bartrum

pending

 

Dynamically docking/undocking windows

TBD

pending

 

href exe-safe serialization framework

Chris Sells

pending

 

Managed HTML display ala a C# port of Mozilla?

TBD

pending

 

Menu/toolbar editing ala Office or VS.NET

Paul Bartrum, Chris Burrows

pending

 

Outlook-style Bar

Richard Birkby

pending

 

SDI, MDI and Explorer-style application wizard

TBD

pending

 

Tab-based MDI implementation (ala VS.NET)

TBD

pending

 

Tear-off menus

Matt Wilson

pending

 

User-sizeable panel

Ethan J. Brown

pending

 

Windowless control architecture

TBD

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.

Documentation

The Genghis documentation is composed of the C# documentation comments as part of the automated build. Check redist\Genghis.chm for the latest.

SimplePad

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!

History

Sponsors

rmTrack provides the hosting space and administration support for Genghis bug tracking and source code control.

License

Copyright © 2002-2003 The Genghis Group

Th is 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:

  1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation is required, as shown here:

    Portions copyright © 2002-2003 The Genghis Group (http://www.genghisgroup.com/).
     
  2. No substantial portion of the source code of this library may be redistributed without the express written permission of the copyright holders, where "substantial" is defined as enough code to be recognizably from this library.

License Note

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.