Article View: comp.sys.atari.st
Article #34425Re: GEM programming
From: Ingolf Markhof
Date: Thu, 06 Oct 1988 15:25
Date: Thu, 06 Oct 1988 15:25
61 lines
3846 bytes
3846 bytes
In article <586@sdcc15.UUCP> you write:
>
>Here is some questions about GEM:
>
> 1. Why is the number of windows limited to 8? Why did DRI design
> this way? With a miminum of 512k memory for the ST, memory
> shouldn't be a problem. Even on the earliest 128k Mac, there is
> no limit on number of windows you can have on the screen. Is
> there any way to modify the AES so we can get rid of the memory
> limitation?
My information is, that the Microsoft Company who developed GEM got some
trouble with Apple because of the violation of copyrights. As you know,
GEM is very similar to the Mac's user interface and Apple did not want
to see such a plagiate. I don't know the details, but the result was that
Microsoft was not allowed to produce an own user interface that is to
much Mac-like. Therefore, GEM got the eight-window restriction.
I don't know if there is an easy way - such as just to change a constant
value somewhere in the GEM-System - to modify GEM so you can get more
windows. But because of the fact, that I've never seen such a modifyed GEM,
I don't think that this is possible.
Of course, it's not a must to use GEM windows. Basicly, a window is just
some rectangular area on the screen. GEM provides only a little bit of
support for manipulating windows. The main think it does is to remark
existing windows and to send messages to your application if you click
somewhere in a window. So, the main parts of window actions are to be solved
by you application. Of course you can ignore the little bit of help GEM gives
for windows an write window routines by your own. This can be done without
the 8-window-restriction, of course...
> 2. How to get the menus to appear on other parts of the screen
> instead of the top line of the screen? I have seen some desk accs
> to have menu bar under their window title bar. How is that done?
GEM menus are just as they are. If you want something else, you have
to write your own procedures. You know the location of the active window,
and you know the mouse coursor postion on the screen.By comparing this
informations, you can detect if the mouse is in a position where you want
to have a menue. So, just paint one onto the screen. Highligt the selected
items when the mouse is pointing to them by redrawing the proper part of
the menue. Finally, dicard the menu by replacing it with the thinks you
saw in its position before the menue was created...
> 3. How to get bottons, editable (spelling?) text fields and other
> objects, that used to appear in dialog boxes, to appear in a window?
I guess this is possible. But have to know the GEM's Object Library very
good. Menus, Boxes, Icons are stored in certain data structures which are
described in the GEM's AES Guide. Every object has an position on the
screen. This can be manipulated...
> 4. How to modify the appearance of windows? For example, in
> PageMaker for the Mac, icons are added to the border of windows to
> show the current page. Is that kind of trick possible under GEM?
Yes, it is. Some GEM Programms also use such icons. For examle look, look
at GEM-Draw. But again, there are no standard procedures for this task and
it has to be handeled by your own procedures.
Ingolf Markhof
(markhof@exunido.UUCP)
Technical Details
Message-ID:
<647@laura.UUCP>Path:
arc1-ca.pugleaf.net!utzoo!utgpu!water!watmath!clyde!att!osu-cis!tut.cis.ohio-state.edu!mailrus!uwmcsd1!marque!uunet!mcvax!unido!laura!exunido!markhofReferences:
<586@sdcc15.UUCP>Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!utgpu!water!watmath!clyde!att!osu-cis!tut.cis.ohio-state.edu!mailrus!uwmcsd1!marque!uunet!mcvax!unido!laura!exunido!markhof From: markhof@exunido.uucp (Ingolf Markhof) Newsgroups: comp.sys.atari.st Subject: Re: GEM programming Keywords: GEM Message-ID: <647@laura.UUCP> Date: 6 Oct 88 15:25:42 GMT References: <586@sdcc15.UUCP> Sender: root@laura.UUCP Reply-To: markhof@exunido.UUCP (Ingolf Markhof) Organization: University of Dortmund, W-Germany Lines: 61