1This is the Mowitz ("More widgets) library. 2 3The project's goal is to create a library of widgets for X applications 4to use. The widgets have been snarfed from various sources and are 5all open source (GPL or MIT licenses). 6 7 8Available widgets 9----------------- 10 11 - Animator 12 - Canvas 13 - Check 14 - Combo 15 - Frame 16 - Handle 17 - Html 18 - Image 19 - ListTree 20 - Notebook 21 - Richtext 22 - Rudegrid 23 - Ruler 24 - Slider 25 - Spinner 26 - Tabbing 27 - Table 28 - Tabs 29 - TextField 30 - Tooltip 31 - VSlider 32 33And a complete menu kit. 34 35The original reason for creating this library is that the Athena 36widget set lacks a lot of widgets that would be useful, and many 37of the existing widgets leave a lot to be desired in appearance 38and behaviour. 39 40Once upon a time there was a project called the Free Widget Foundation. 41It started out with goals similar to those of Mowitz, but later 42turned into a project to create a complete, standalone widget set. 43That is not something that will happen here. 44 45 46Namespace 47--------- 48 49All external symbols are prefixed with "Mw" in order to avoid 50name space clashes with other libraries. So for example, the 51spinner widget is called MwSpinner. 52 53 54Applications using Mowitz 55------------------------- 56 57Since most of these widgets were previously distributed with 58Siag Office, it is natural that the upcoming release of that 59package will use (and require) the Mowitz library. 60 61Many existing X applications can be trivially updated to use 62the widgets in the Mowitz library. 63 64 65Utility routines 66---------------- 67 68In addition to the widgets themselves, Mowitz includes several 69utility functions that are used within the library, but useful 70to application writers as well. The functionality includes: 71 72 - Loading and caching pixmaps 73 - Allocating and caching pixel values 74 75 76 77Mowitz � la carte 78----------------- 79 80It is possible to pick and choose among the widgets within Mowitz. 81Normally there is no reason to do so, but it can be a way to add 82a single widget to an application without having to depend on 83another library. It can also be a way to avoid licensing issues. 84 85To do this, copy the MwUtils.c and MwUtils.h files to the application, 86plus the files for the widget. All widgets use the routines in 87MwUtils, so it must always be included. 88 89Some widgets are subclassed from other widgets in the library. The 90Handle widget, for example, is subclassed from Frame. In that case, 91both widgets must be included. 92 93 94Widget hierarchy 95---------------- 96 97Names in brackets are Intrinsic widgets, not part of Mowitz. 98 99[RectObj] 100 |-BaseME 101 | |-LabelME 102 | | |-CheckME 103 | | |-MBButton 104 | | `-SubME 105 | `-LineME 106[Core] 107 |-Base 108 | `-SButton 109 | `-Button 110 | `-MenuButton 111 |-Canvas 112 |-Check 113 |-[Composite] 114 | |-Animator 115 | |-BaseComp 116 | |-[Constraint] 117 | | |-BaseConst 118 | | | |-Row 119 | | | `-MenuBar 120 | | |-Rudegrid 121 | | | `-Filesel 122 | | `-Tabs 123 | |-Frame 124 | | |-Combo 125 | | |-Handle 126 | | `-Spinner 127 | |-Richtext 128 | |-[Shell] 129 | | `-[OverrideShell] 130 | | |-Menu 131 | | |-PopText 132 | | `-Tooltip 133 | `-Table 134 |-Image 135 |-ListTree 136 |-Notebook 137 |-Ruler 138 |-Slider 139 | `-VSlider 140 |-Tabstop 141 `-TextField 142 143 144Authors 145------- 146 147Ondrejicka Stefan: Menus 148Edward A. Falk: Frame, Ruler, Slider, VSlider, Tabs 149Robert W. McMullen: ListTree, TextField 150Ulric Eriksson: Animator, Canvas, Check, Combo, Filesel, 151 Handle, Image, Notebook, Richtext, 152 Rudegrid, Spinner, Tabbing, Table, Tabs, Tabstop, Tooltip 153 154