Siag Office
Shohei Mail
Webresolve
Pen
Dwatch
XMagick
Myhtml
Simple Database Library
Sdbsiod
mod_log_sdb
mod_sql_sdb
Sdbgrey
Ulric's Router Construction Kit
neXtaw
Mowitz
Kylie
O3read
Ucron
Parsecgi
Mr Big
Ulric's stuff
|
|
The Mowitz Library
#!/bin/sh
# If the file oldnews.shtml is present, it will contain a list of
# all the release notes. In that case we only need to list the most
# recent one here.
oldnews()
{
f=`echo $news|cut -f 1 -d ' '`
s=`basename $f .shtml | cut -c 6-`
echo "News in $s"
echo ""
echo "Old news"
echo " "
exit
}
test -n "$QUERY_STRING" || exit
dir=/var/www/vhosts/"$QUERY_STRING"
cd "$dir" || exit
echo "Content-type: text/html"
echo
news=`ls -t news-*.shtml`
c1="#99ccff"
c2="#ffffff"
bgcolor="$c1"
test -f oldnews.shtml && oldnews
echo " "
for f in $news; do
s=`basename $f .shtml | cut -c 6-`
echo ""
echo "News in $s"
echo " | "
if test "$bgcolor" = "$c1"; then
bgcolor="$c2"
else
bgcolor="$c1"
fi
done
echo " "
This is the Mowitz ("More widgets") library.
The project's goal is to create a library of widgets for X applications
to use. The widgets have been snarfed from various sources and are
all open source (GPL or MIT licenses).
Download source!
Change log
Freshmeat project page
Available widgets
- Animator
- Canvas
- Check
- Combo
- Frame
- Handle
- Image
- ListTree
- Notebook
- Richtext
- Rudegrid
- Ruler
- Slider
- Spinner
- Tabbing
- Table
- Tabs
- TextField
- Tooltip
- VSlider
And a complete menu kit.
The original reason for creating this library is that the Athena
widget set lacks a lot of widgets that would be useful, and many
of the existing widgets leave a lot to be desired in appearance
and behaviour.
Namespace
All external symbols are prefixed with "Mw" in order to avoid
name space clashes with other libraries. So for example, the
spinner widget is called MwSpinner.
Applications using Mowitz
Since most of these widgets were previously distributed with
Siag Office, it is natural that the latest release of that
package uses (and requires) the Mowitz library.
The web browser Kylie uses Mowitz.
Screenshot
Many existing X applications can be trivially updated to use
the widgets in the Mowitz library.
Utility routines
In addition to the widgets themselves, Mowitz includes several
utility functions that are used within the library, but useful
to application writers as well. The functionality includes:
- Loading and caching pixmaps
- Allocating and caching pixel values
Mowitz à la carte
It is possible to pick and choose among the widgets within Mowitz.
Normally there is no reason to do so, but it can be a way to add
a single widget to an application without having to depend on
another library. It can also be a way to avoid licensing issues.
To do this, copy the MwUtils.c and MwUtils.h files to the application,
plus the files for the widget. All widgets use the routines in
MwUtils, so it must always be included.
Some widgets are subclassed from other widgets in the library. The
Handle widget, for example, is subclassed from Frame. In that case,
both widgets must be included.
Widget hierarchy
Names in brackets are Intrinsic widgets, not part of Mowitz.
[RectObj]
|-BaseME
| |-LabelME
| | |-CheckME
| | |-MBButton
| | `-SubME
| `-LineME
[Core]
|-Base
| `-SButton
| `-Button
| `-MenuButton
|-Canvas
|-Check
|-[Composite]
| |-Animator
| |-BaseComp
| |-[Constraint]
| | |-BaseConst
| | | |-Row
| | | `-MenuBar
| | |-Rudegrid
| | | `-Filesel
| | `-Tabs
| |-Frame
| | |-Combo
| | |-Handle
| | `-Spinner
| |-Richtext
| |-[Shell]
| | `-[OverrideShell]
| | |-Menu
| | |-PopText
| | `-Tooltip
| `-Table
|-Image
|-ListTree
|-Notebook
|-Ruler
|-Slider
| `-VSlider
|-Tabstop
`-TextField
Authors
Ondrejicka Stefan: Menus
Edward A. Falk: Frame, Ruler, Slider, VSlider, Tabs
Robert W. McMullen: ListTree, TextField
Ulric Eriksson: Animator, Canvas, Check, Combo, Filesel,
Handle, Image, Notebook, Richtext,
Rudegrid, Spinner, Tabbing, Table, Tabs, Tabstop, Tooltip
I am Ulric Eriksson, ulric@siag.nu.
More stuff
#!/bin/sh
echo "Content-type: text/html"
echo
echo ""
Ulric Eriksson - August 2007 - ulric@siag.nu
|
|
|