VisualOberon
A GUI library for the ooc compiler
from 13 December 1998
Tim Teulings
Table of Contents
Every part of the archive under the GNU license (see section 1.1 The GNU license) if not
otherwise stated.
GNU GENERAL PUBLIC LICENSE
Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
675 Mass Ave, Cambridge, MA 02139, USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
License is intended to guarantee your freedom to share and change free
software--to make sure the software is free for all its users. This
General Public License applies to most of the Free Software
Foundation's software and to any other program whose authors commit to
using it. (Some other Free Software Foundation software is covered by
the GNU Library General Public License instead.) You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
this service if you wish), that you receive source code or can get it
if you want it, that you can change the software or use pieces of it
in new free programs; and that you know you can do these things.
To protect your rights, we need to make restrictions that forbid
anyone to deny you these rights or to ask you to surrender the rights.
These restrictions translate to certain responsibilities for you if you
distribute copies of the software, or if you modify it.
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must give the recipients all the rights that
you have. You must make sure that they, too, receive or can get the
source code. And you must show them these terms so they know their
rights.
We protect your rights with two steps: (1) copyright the software, and
(2) offer you this license which gives you legal permission to copy,
distribute and/or modify the software.
Also, for each author's protection and ours, we want to make certain
that everyone understands that there is no warranty for this free
software. If the software is modified by someone else and passed on, we
want its recipients to know that what they have is not the original, so
that any problems introduced by others will not reflect on the original
authors' reputations.
Finally, any free program is threatened constantly by software
patents. We wish to avoid the danger that redistributors of a free
program will individually obtain patent licenses, in effect making the
program proprietary. To prevent this, we have made it clear that any
patent must be licensed for everyone's free use or not licensed at all.
The precise terms and conditions for copying, distribution and
modification follow.
GNU GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License applies to any program or other work which contains
a notice placed by the copyright holder saying it may be distributed
under the terms of this General Public License. The "Program", below,
refers to any such program or work, and a "work based on the Program"
means either the Program or any derivative work under copyright law:
that is to say, a work containing the Program or a portion of it,
either verbatim or with modifications and/or translated into another
language. (Hereinafter, translation is included without limitation in
the term "modification".) Each licensee is addressed as "you".
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of
running the Program is not restricted, and the output from the Program
is covered only if its contents constitute a work based on the
Program (independent of having been made by running the Program).
Whether that is true depends on what the Program does.
1. You may copy and distribute verbatim copies of the Program's
source code as you receive it, in any medium, provided that you
conspicuously and appropriately publish on each copy an appropriate
copyright notice and disclaimer of warranty; keep intact all the
notices that refer to this License and to the absence of any warranty;
and give any other recipients of the Program a copy of this License
along with the Program.
You may charge a fee for the physical act of transferring a copy, and
you may at your option offer warranty protection in exchange for a fee.
2. You may modify your copy or copies of the Program or any portion
of it, thus forming a work based on the Program, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:
a) You must cause the modified files to carry prominent notices
stating that you changed the files and the date of any change.
b) You must cause any work that you distribute or publish, that in
whole or in part contains or is derived from the Program or any
part thereof, to be licensed as a whole at no charge to all third
parties under the terms of this License.
c) If the modified program normally reads commands interactively
when run, you must cause it, when started running for such
interactive use in the most ordinary way, to print or display an
announcement including an appropriate copyright notice and a
notice that there is no warranty (or else, saying that you provide
a warranty) and that users may redistribute the program under
these conditions, and telling the user how to view a copy of this
License. (Exception: if the Program itself is interactive but
does not normally print such an announcement, your work based on
the Program is not required to print an announcement.)
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Program,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you
distribute the same sections as part of a whole which is a work based
on the Program, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote it.
Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Program.
In addition, mere aggregation of another work not based on the Program
with the Program (or with a work based on the Program) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.
3. You may copy and distribute the Program (or a work based on it,
under Section 2) in object code or executable form under the terms of
Sections 1 and 2 above provided that you also do one of the following:
a) Accompany it with the complete corresponding machine-readable
source code, which must be distributed under the terms of Sections
1 and 2 above on a medium customarily used for software interchange; or,
b) Accompany it with a written offer, valid for at least three
years, to give any third party, for a charge no more than your
cost of physically performing source distribution, a complete
machine-readable copy of the corresponding source code, to be
distributed under the terms of Sections 1 and 2 above on a medium
customarily used for software interchange; or,
c) Accompany it with the information you received as to the offer
to distribute corresponding source code. (This alternative is
allowed only for noncommercial distribution and only if you
received the program in object code or executable form with such
an offer, in accord with Subsection b above.)
The source code for a work means the preferred form of the work for
making modifications to it. For an executable work, complete source
code means all the source code for all modules it contains, plus any
associated interface definition files, plus the scripts used to
control compilation and installation of the executable. However, as a
special exception, the source code distributed need not include
anything that is normally distributed (in either source or binary
form) with the major components (compiler, kernel, and so on) of the
operating system on which the executable runs, unless that component
itself accompanies the executable.
If distribution of executable or object code is made by offering
access to copy from a designated place, then offering equivalent
access to copy the source code from the same place counts as
distribution of the source code, even though third parties are not
compelled to copy the source along with the object code.
4. You may not copy, modify, sublicense, or distribute the Program
except as expressly provided under this License. Any attempt
otherwise to copy, modify, sublicense or distribute the Program is
void, and will automatically terminate your rights under this License.
However, parties who have received copies, or rights, from you under
this License will not have their licenses terminated so long as such
parties remain in full compliance.
5. You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or
distribute the Program or its derivative works. These actions are
prohibited by law if you do not accept this License. Therefore, by
modifying or distributing the Program (or any work based on the
Program), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Program or works based on it.
6. Each time you redistribute the Program (or any work based on the
Program), the recipient automatically receives a license from the
original licensor to copy, distribute or modify the Program subject to
these terms and conditions. You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties to
this License.
7. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Program at all. For example, if a patent
license would not permit royalty-free redistribution of the Program by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Program.
If any portion of this section is held invalid or unenforceable under
any particular circumstance, the balance of the section is intended to
apply and the section as a whole is intended to apply in other
circumstances.
It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system, which is
implemented by public license practices. Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
8. If the distribution and/or use of the Program is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Program under this License
may add an explicit geographical distribution limitation excluding
those countries, so that distribution is permitted only in or among
countries not thus excluded. In such case, this License incorporates
the limitation as if written in the body of this License.
9. The Free Software Foundation may publish revised and/or new versions
of the General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the Program
specifies a version number of this License which applies to it and "any
later version", you have the option of following the terms and conditions
either of that version or of any later version published by the Free
Software Foundation. If the Program does not specify a version number of
this License, you may choose any version ever published by the Free Software
Foundation.
10. If you wish to incorporate parts of the Program into other free
programs whose distribution conditions are different, write to the author
to ask for permission. For software which is copyrighted by the Free
Software Foundation, write to the Free Software Foundation; we sometimes
make exceptions for this. Our decision will be guided by the two goals
of preserving the free status of all derivatives of our free software and
of promoting the sharing and reuse of software generally.
NO WARRANTY
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
REPAIR OR CORRECTION.
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.
END OF TERMS AND CONDITIONS
Appendix: How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest
to attach them to the start of each source file to most effectively
convey the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) 19yy <name of author>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
Also add information on how to contact you by electronic and paper mail.
If the program is interactive, make it output a short notice like this
when it starts in an interactive mode:
Gnomovision version 69, Copyright (C) 19yy name of author
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License. Of course, the commands you use may
be called something other than `show w' and `show c'; they could even be
mouse-clicks or menu items--whatever suits your program.
You should also get your employer (if you work as a programmer) or your
school, if any, to sign a "copyright disclaimer" for the program, if
necessary. Here is a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
`Gnomovision' (which makes passes at compilers) written by James Hacker.
<signature of Ty Coon>, 1 April 1989
Ty Coon, President of Vice
This General Public License does not permit incorporating your program into
proprietary programs. If your program is a subroutine library, you may
consider it more useful to permit linking proprietary applications with the
library. If this is what you want to do, use the GNU Library General
Public License instead of this License.
VisualOberon (or short 'VO') is a collection of classes written in the
programming language Oberon-2. The classes are designed to easily
build graphical user interfaces for programs written in Oberon-2. VO
is distributed under the GNU license and it uses OO2C as development
tool.
Oberon-2 is an object-oriented programming language, a successor of
Pascal, designed by the renowned Niklaus Wirth. It combines the popular
and proven design of Pascal (strict type system, easy to read code, easy to
follow program flow, possibility to naturally structure your source code)
with the modularity of Modula-2 and enhances both of them with clean,
simple but powerful object-oriented concepts, including
inheritance, dynamic type information, virtual methods, various access
rules on class and module basis and a built-in garbage collector.
VisualOberon uses OOC and its first implementation OO2C as development
tool, but VisualOberon's design is not limited to that compiler.
It is based on the language defined by the official language report
and thus should be easily portable to other compilers.
- Simplicity:
-
VO should provide a powerful layout tool for the programmer, but
should also eliminate the need to handle low-level GUI details. It
should also free from needing to make low-level design decisions.
In a way it is similar to TeX. You give it a abstract description
and it will generate a good-looking GUI by its own.
- Extensibility and flexibility:
-
The classes should be designed to make
them easily extensible. Features missing should be easy to integrate
without the need to rewrite huge code sections and without breaking
compability.
- Portability:
-
The class library should be portable so that the classes
share the same interface among different platforms. Programs
building an interface under one operating system should be
portable without any changes to the code. The class library itself
is not portable because it is implemented by making specific
OS-dependent calls. VO must be adapted to each OS. However, VO
tries to build a abstraction layer everywhere where it is
possible to hide OS-dependent details.
- Configurability:
-
Since VO should be platform independent it must be possible to get a
native look and feel. VO achieves this not by building a layer on
the existing API of the OS, but by building its own GUI objects
which are flexible enough that their look and feel can be easily
configured to mimic the look and feel of the current OS. While far
from being perfect, the current version demonstrates the potential
and proves the concept of a configurable GUI.
- Modern features:
-
VO should give the programmer access to all common GUI features like
auto font adapting, resizability, and things like drag and drop... It
should be possible to build a complete state-of-the-art GUI.
- Free use:
-
VisualOberon is available under the GNU programming licence (GPL)
and thus guarantees free use.
- Development style:
-
The incremental development methodology offers quick updates and
bug fixes, fast response to problems and good communication and code
exchange between developers and users.
Many common object have already been implemented. Key features like keyboard and focus
handling and drag and drop have already been implemented. VisualOberon has also been
used as the development basis for a number of programs which have shown the validity
of the applied concepts. The screenshots on our homepage should show that VisualOberon
is already beyond its planning phase and is well within its implementation phase.
Only a few common objects are still missing.
While the concept of VisualOberon has been proven, a lot of work still remains. There
are a number of objects missing. VisualOberon is currently a project led
by a few people and it is clear that their combined efforts are not enough to make
VisualOberon the state-of-the-art GUI engine we know it could be.
Thus VisualOberon definitely needs the active support of more people. This should of
course mainly be programmers but also designers and people with knowledge about various
systems and concepts are needed. We also need more demo programs and people using
VisualOberon in real world applications by writing programs. People writing documentation
are also welcome. In the end, support for hardware in the form of mirrors and ftp access
for the developers are a good things to have :-)
You ask what you can get back for your investment in supporting VisualOberon? First you
can learn much about the design and the implementation of a huge project. You learn much
about the design of a GUI system from the ground of. VisualOberon and it full published
source code lets you look behind the scenes of a modern, object-oriented GUI. You learn
much about cooperating and programming in a team.
There are also direct advantages for your own programs. VisualOberon due to its powerfull
design:
-
offers you an excellent platform for rapid protoyping.
-
gives quick and safe development of even larger applications.
-
multiplies the power and simplicity of Oberon-2.
-
provides a powerful, object-oriented design.
-
gives you maximum flexibility.
-
offers you the best GUI-development tool in years.
-
uses a portable core interface to the underlying OS.
-
guarantees that your applications will run under a variety of systems.
-
has a built-in ability to fundamentally change the look of the GUI.
-
guarantees your applications will adapt to the look and feel of any host OS.
- The address of the home page is:
-
@url{http://ping.de/sites/edge/VisualOberon.html}.
- The address for source code downloads is currently also:
-
@url{http://ping.de/sites/edge/VisualOberon.html}.
- The address of the mailing list is:
-
@email{VisualOberon@edge.ping.de}.
Write to
@email{majordomo@edge.ping.de}
for information how to get on the VisualOberon mailing list.
- Contact person:
-
Tim Teulings @email{rael@edge.ping.de}.
For a first overview over Oberon-2 look at @url{http://www.ics.uci.edu/~oberon/intro.html}.
A huge number of additional information can be found at
@url{http://www.math.tau.ac.il/~laden/Ob-pkgs.html}. A european mirror will soon be
@url{http://shulen.Hagen.de/IF/Oberon/}.
The messagesystem used in VO is rather simple but nevertheless very
powerfull. It allows you to handle messages using one or both of the
two common message handling paradigms.
The first common event-handling mechanism is the event-loop aproach. All events
are handed to a procedure. Within this procedure - the event handler - the programmer
analyses the type and the source of the handled event and then calles the apropiate
operations. This aproach f.e. it is used in `XTest.Mod' at some place.
Another aproach is to connect events directly to the apropiate actions. This can be
done by using callback functions. That means that for every event and seperat
functions is called that exspecially handles the given action. Motif f.e. uses such
a aproach. A variation of this aproach is, that events directly generate actions by
using some kind of mapping table. While the first aproach (event loop) better maps
to the mind and the way of thinking of most programmers and also has the advantage of
centralizing the operation decision section of your program the callback aproach is
more fitting for an automatic driven GUI, where the programmer just makes
"connections" and the event handling and dispatching system of the GUI then
"automatically" and "automagically" mappes the right stuff. The callback method has
the disadvantage of spreadding event-handling code all over your program and makes
it difficult for th programmer to follow event and datatflow.
The callback aproach is also used in `XTest.Mod' but is more hidden withing
the GUI creating code.
As said, VisualOberon supports both aproaches in an easy to use and understandable
way. VisualOberon does not force th programmer to use on on the other aproach. The
programmer can switch between both aproaches or even use both of them simultanious
where he thinks its apropiate.
The base of the whole eventhandling is realized in module `VOObject.Mod',
implementing the baseclass for all message exchanging and message handling objects.
It it well commented, but I'll give an in deep description at this place.
The eventhandling will be handled between objects inheriting from MsgObject
.
All visible objects do, the global display instance and windows do and
models also do. So messages can be send to who ever you like if it just
inherits from MsgObject
.
Objects do have a number of actions/msgstypes they can send. They also have a number
of actions/messages you can send them that will trigger actions at the receiver
(You can send a close-message to a window and it will close. Otherwise the window can
send you an close-message when it gets closed).
If your interested in getting notified about an action occouring, you add
your receiver object (which must inherit from VOObject.MsgObject
)
using MsgObject.AddHandler
. When adding your receiver object you must name
the msgtype you want to receiv but handing the msgtype id. A message sending
object defines a unique id for every message type it can handle. There are special id
common to all message object that state that you want to handle all events from
that object or that you want to send an event to all handlers (EveryMsg
and BroadcastMsg
).
But you do not only want to get notified about an actions ourself but also want
to trigger new actions for other objects when an action occurred. F.e. you want
to close the popup-window in XTest when someone presses the OK or Cancel button.
Since actions may not parameterless we need a generic way to transform the
send action to another action (which implies on the Oberon level that you must
convert an instance of one class to another class) that the second object can
receive. This means, we must transform the Clicked-msg of the buttons to a Close-msg
for the popup, without the buttons and the popup knowing each other and
the structure of their messages.
As a consequence we do not pass the receiver directly to
MsgObject.AddHandler
but we only assign a handler. The receiver object itself
has to be registered within the handler. The handler must be derived from
VOObject.Handler
and gets called by the object when it send its
message. The handler has to return a message itself which then gets send to
the receiver stated in the handler. The returned message can be the same as
the passed but it need not to be. That way we can write our own handler that
transforms the clicked-Msg of the button to a close-Msg of the popup.
However the popup itself already offers us a special handler that blindly returns a
close-Msg (regardles of the message received) when it gets called
(VOPopup.Msg2Close
).
To send a message you call the Send
-method inherited from the
VOObject.MsgObject
class. You must hand an instance of your message and the
special id of the type of message you want to send. Send
then will go
trough the list of registered handlers (registered using AddHandler
) comparing
the handed msgtype id with the msgtype id registered with each handler. If the ids
match the Send
-message of the handler will be called handing the message
instance. The Send
-method of the handler then in turn will call its
Convert
-method giving you the change to exchange the message type. The
returned message instance (which can but needs not to be the same as
the handed message instance) then will be handed to the Recieve
-method of
the destination object registered within the handler.
This gives us simple eventhandling but also some more advanced
features. You can now write selfdriven GUIs by adding special handlers to the
objects or you can use the event-loop paradigm by creating one msg-object,
which gets all messages of all objects. You can even overload use on of the existing
message bjects, a window or the global display instance as event handling object.
You must of course take care to call the method of the baseclass.
The message system is of course not window-based, so clinging together the events
of different windows is no problem.
3.1.1 References
XTest.Mod
-
section 5.17 XTest.Mod
VOObject.Mod
-
section 5.23 VOObject.Mod
There are different kinds of graphical objects in VO. Some that trigger
actions, some that trigger actions and/or hold a state or value and other
that just show themselfs (They are inherited from
VOGUIObject.Image
, which has no event handling routines).
Objects that store a value or state (with value we do not mean preference-stuff
like a frame to choose or something else, but the value store by the object,
f.e. the string a stringgadget represents or the boolean value of a
radiobutton), do not store it themself but have a
reference to an model that implements a variable of the needed type. Of
cause an object can have more than one model as it can have more than one
value (A scroller needs 3 values, top, visible and total area). The
other way round a model can be connected to more than one object, so
different objects can hold and operate on the same values. The fact that one can
attach a model to more than one object bears an interesting fact. Changing the value
of the model you automatically update all of the dependend objects. This way you can
connect f.e. a scroller and a list by assigning the same model for the top position.
Each time you then move the scroller the list view updates accordingly. There is no
need to explicitely handle scrolling events.
The programmer now does not change the value using the object but rather changes the
value of the model which in turn notifies it objects that it value
has changed. The baseclass for models is implemented in `VOObject.Mod'.
It owns a number of methods to add or remove objects to models. Notifying is done
using Model.Notify
which goes through the list of all added objects and
calls Object.Resync
for each object. The model can add special defined
messages derived from VOObject.ResyncMsg
to give more information to the object
about what has happened, but it needs not do so. A object should try to implement
optimised actions for all messages the corresponding model can send and it should
do a complete resync, when Resync
is called with no valid message.
The more information an object gets the better it can redisplay itself and a
implementor of a model should try to make the message as informative as possible.
Another point is, that the model should only send messages, if its state really has
changed. Thus setting a boolean model with the value TRUE
to TRUE
should not create a ResyncMsg
.
3.2.1 References
VOObject.Mod
-
section 5.23 VOObject.Mod
Model
-
section 5.23.8 ModelDesc
BoolModel
-
section 5.85.1 BoolModelDesc
IntModel
-
section 5.88.1 IntModelDesc
StringModel
-
section 5.91.1 StringModelDesc
ListModel
-
section 5.89.4 ListModelDesc
ResyncMsg
-
section 5.23.6 ResyncMsgDesc
This chapter is a general description of the concepts behind the handling of
graphical objects. This is only a description of the Object
baseclass
in VOGUIObject.Mod
and it inherited classes Image
, Gadget
and Group
. The use of the other fundamental display classes like
Display
will only described as necessary. More information about this can be
found in another chapter.
The typical lifecycle of an object can be divided in a number of states:
- Instantation
-
Initial instantation will be done by allocating the object using the
NEW
operator of Oberon-2.
- Initialisation
-
The object gets initialised by calling the
Init
-method, which has be
inherited from VOObject.Object
. If you implement your own object,
take care that you call the Init
-method of the baseclass and then
initialise all own members. The init functions should initialize all members of the
class to a state, where using without further initialisation should do no harm.
Further, optional initialisation can be done by calling corresponding
methods. Note, that most of the initialisation must be done before the object
gets layouted first. F.e. labels for a button must be set before the object
gets layout to get a valid size. However most objects try to be robust, but
donīt call on that. When you build your own object you should of course try to
reduce the number of such limits as much as possible.
After that the object gets included into the object tree of the window by
adding it to a group object with one of the AddXX
-methods or by
assigning it (most likely for group objects) directly as top object of the
window to the window.
- Initial layouting
-
Before the window opens itself for the first time the initial size and position of
the objects within the window must be calculated to get the right size of the window.
The window achives that by calling
CalcSize
for the top objects, which in turn
calls it for all its subobjects to determine its own bounds in dependence of the
bounds of it subobjects.
- Displaying, hiding, redrawing
-
After the window has calculated it bounds it opens itself and draws the top object
with (again) in turn draw itself and all its subobjects. When the window gets closed
it hides the top object, so that the top object and all it children know that they
not visible and must not update themselfs. Drawing will be done using
Draw
,
hiding via Hide
. There also also exists a Rdraw
method for
convinience which calls Draw
with the coordinates currently stored within
the object. Howver because of the dependence of initialisation of internal
structures Redraw
may only be called after a first call to Draw
.
If the window gets covered, redrawing of parts of the window contents may be needed.
This will be achieved by calculating the rectangle that contains the the damaged
area and tells the top the refresh that part by calling Refresh
. The top
object then redraws itself (it should try optimised this procedure as much as
possible). After that it tells all its children that intersect with the dirty area
to redraw themself within the dirty rectangular.
Another possible action that needs redrawing is the resizing of a window. This
works in a similar recursive way: The window finds out its new size and resizes
the top object, which in turn resizes all its children. Since not all object
may want to be resized an object can optimise the resizing by questioning the object
first if it is able to grow or shrink. After the window has resized the top object
and by doing this all the children, it clears the display and redraws the top object.
- Change of configuration
-
Another special action is when the uses changes the preferences. The programmer must
the force a complete redraw of all windows by calling
VODisplay.Display.ReinitWindows
. Each window then in turn calles
CalcSize
(again) for the top object (and all its subobjects), resizes itself
to the new bounds and redraws the window contents. As a consequence
CalcSize
can be called more then once. An objects must be prepared for that.
F.e. it must be aware that CalcSize
and Free
are not called in pairs.
An object can check if CalcSize
has been called for the first time by checking
the existance of the flag VOGUIObject.inited
in
VOGUIObject.Object.flags
. If the flag has been set, CalcSize
has
already been called.
This chapter will introduce the layouting concepts behind VisualOberon, which
garanty the generation of fontsentiv and resolution independent GUIs. The chapter
will be devided intwo two sections. The first sections describe the routines
involded in calculating the size and the size restrictions of an object itself.
The second subsection will describe how group objects work and how the layout of a
dialog can be described by grouping and combining the various grouping objects.
The bounds of an object are described by a rectangular area. The object is the
complete owner of the drawing area within its bounds. While other objects may draw
into the area of foreign objects as long as they handle correct refreshing
they are urged not to do so. But the size of an object is not only defined by its
bounds, defined by the x and y coordinates of its upper left corner and the width
and the height of the object.
Size dynamic reszing is an inherent feature of VisualOberon the size of an object
is not onyl defined by it current width but an object also has minimal and maximal
bounds. The Init
method of the VOGUIObject.Object
initializes the
minimal bounds to zero and the maximal bounds to the largest possible number
(i.e. MAX(LONGINT)
). For most objects of course this a not useable numbers. So it
is the duty of the object to reassign sensable minimal and maximal bounds. The place
to do this is within the CalcSize
method. For example, a string object should
at least as heigh as the used font plus the vertical bounds of the frame and it
should be at least as width as the width of a string containg a few letters of the
used font plus the horizontal bounds of the surrounding frame.
While sizes are internaly described in pixels, this is not the best way to describe
sizes since the size of an object in most cases depend of the font size and
other aspects. To support this VisualOberon offers to the possibility to calculate
the sizes of printed text using special fonts and it also offers you the two
memebers of VODisplay.Display
spaceWidth
and spaceHeight
which
are closely bound the the size of the normaly used font. Fractions and multiples of
theses values should be used for sizing objects.
In many cases an object consists of a number of other objects. A button f.e. consists
of an objects that serves as label and a frame object. The size of the button
results in the width and height of the label object (you must call CalcSize
for this object) and the frame thickness of the frame object. Also there should be
some space between the frame and the label. The size of this space should be a
fraction of the above named size properties of VODisplay.Display
. An object
should also respect the minimal and maximal bounds of its components. The button
must not be smaller than its label. In practice this means that the calculation used
for the evaluaton of the current size must be done also for the minimal and maximal
bounds. Currently most objects only respect the minimal bounds of its component
objects. Future version of VisualOberon will fx this.
But sizes are not only defined by the object itself. Sometimes the designer
of a dialog want to specify the size of an object explicitely. because of that there
various SetXXX
methods, which give the developer the possibilty to exactly
define minimal, normal, maximal width and height. Also, since - as stated before -
pixel measurements are not optimal, the SetXXX
methods offers various
measurements modes, like factions and multiples of the VODisplay.Display
space units.
Another way of manipulating the sizing of an object is setting special flags in the
flags
memeber of VOGUIObject.Object
. The flags horizontalFlex
and verticalFlex
allow resizing for the specified direction. If the flag for a
direction is not set, CalcSize
will automatically set the minimal and maximal
bounds for that direction to the "normal" bounds. Thus all sizes and sizings must
be set before CalcSize
is called. This is normally before the window gets
opened the first time.
Most GUI systems use a rather primitive way for layouting a dialog. Most
GUI systems only allow hardcoded placement (possibly specified within a
builder program) or use a rubber band based concept. VisualOberon uses another way
Since both mentioned aproaches don't work well when fontsentitivity is needed,
when senseable reszing is needed or when the contents of a dialog get more
complex such that layouting cannot be described well.
Instead VisualOberon follows the path of object orientation a step further and
defines a second kind of objects that represent a collection of child, sub or
component objects and that are responsible for layouting all it children. Thatfor
VisualOberon offers a class named VOGUIObject.Group
derived from
VOGUIObject.Object
as baseclass for all grouping objects. Group
offers
an Add
method, a list of child objects, filled by the Add
member, and
it implements the methods inherited by Object
in a sensable way. From the
view point of the programmer the Group
serves as a collection in which you
can trow objects using the Add
method.The Add
method and the list
of object must of course not used, they are only a convienient feature, since they
reduce the code to be implemented for most group objects. However the group
object should support the Add
method somehow if possible.
While VisualOberon offers you a rich set of group objects you are not restricted
to them. You can alway implement your own groups by inheriting from Group
and overwriting and implementing all needed methods. So it is no problem to implement
a HTML-like layouting group in which you can throw text and images togheter with
layouting information are a group which aranges all objects in a circle.
Also the programmer is not restricted to two hierachie levels (objects within groups).
Since groups itself again are objects you can put groups cotaining objects (or groups)
in another group and so on. As soon as you have a HTML-like and a circle group
its is no problem to put your circle of objects into your HTML page.
At this place a special object should be metioned, that helps layouting within an group
object: The space object (`VOSpace'). A space object uses a specified amount of
horizontal or vertical space without drawing anything. A space object can be used to
add space between objects. We now the use of groups, space and normal objects and
their interaction in the layouting process using a few simple examples.
For the examples we will postulate a special group object: The group object will display
all its members horizontally from left to right. The group will be as high as the
highest memeber. Members smaller then the group will be centered vertically. If the
with of the group is greater than the sum of of the withs of all its members, it will
try to enlarge all children that are enlargeable equally. We will drop a number of
buttons into the group. Details about the button are not interesting in this examples.
We use the following symbols for the various objects: >
represents the left
edge of the group, <
the right edge. x
and X
stand for a button,
_
symbolizes as space object.
-
Ok, example one: We simply drop a number of horizontally differently sized buttons
into the group. Since we do not set
horizontalFlex
the buttons are not resizeable.
>XXXxxXXXX<
The buttonn will simply be drawn from left to right with no space between them. This is
a in most cases unwanted layout.
-
Normally we at least some space between the buttons. We add some horizontal space objects
between the buttons. The space object will not have
horizontalFlex
set, too.
>XXX_xx_XXXX<
-
The above examples are the constalations resulting in the initial calculation in
CalcSize
. Adding horizontalFlex
to the buttons or the space object will not
change the layouting since there is no space left for resizing. Because of the we asume
in the following examples, that the group is wider than the sum of the widths of its
contens. The can be because the object our group is child of is wider and has resized
the group or because of window resizing of the user. The resulting relayuting will be done
in the Draw
method of the group. Initial layouting in CalcSize
and
delayed layouting in Draw
is common for groups.
In this example we add buttons and spaces as dexribed and without horizontalFlex
set.
>XXX_xx_XXX <
As described the group will draw objects from left to right. Since the group cannot
resize its contents (because of the lacking horizontalFlex
) the objects
are simply left aligned and have their initial width.
-
We now set
horizontalFlex
for the buttons.
>XXXXXXX_xxxxxx_XXXXXXX<
The group now can resize the buttons adn thus will divide the space left equaliy between
the buttons. Note, that this does not result in all buttons equaly sized. If their
initial size is different and the get resized by the same amount they are of course
differently sized after the layouting process. Also decrising the size of the group to its inital
size will result in case two.
-
We now set
horizontalFlex
not for the buttons but for the spaces.
>XXX_______xx_______XXX<
This has been somehow exspected, or?
-
Ok, now for something completely different ;-) We add a new space object in front
of the first button and set
horizontalFlex
only for that special space object.
>____________XXX_xx_XXX<
Ups, suddenly we have right aligned our groups of buttons.
-
Now we do not only add a space object in front of the first button but also after the last
button. For both spaces we set
horizontalFlex
.
>______XXX_xx_XXX______<
After left and right aligment this example results in centered buttons within the group.
Most GUI systems need somekind of handle that represents a connection to the
graphic subsystem (X11) or work as a general handle to the GUI.
In VisualOberon the VODisplay.Display
class does this. Before you can
use VisualOberon you must create and successfully initialize an instance of the
Display
class. You can do this f.e. with the following code:
...
VAR
d : VODisplay.Display;
...
BEGIN
NEW(d);
IF ~d.InitDisplay("XTest") THEN
Err.String("Cannot init application!"); Err.Ln;
HALT(1);
END;
...
Note, that initialisation of the display can fail. Possible Reasons for this can
f.e be, that you don't have an X sever running. Note also, that it normally does
not make sense to initialize more than one instance of Display
.
The Display
class also serves as interface to the event-loop. In VisualOberon
each window does not have a separate event-loop but it does exist one event-loop
that dispatches the events itself. It does wait for events from the graphics subsystem
and delegates them. The event-loop can be started by calling Display.Handler
.
This methods will return when the global event-loop has been stoped. You can stop
the event-loop by calling Display.Exit
or by sending an exit message to the
display. You can restart the event-loop by calling Display.Handler
again.
The Display
class also serves other global ressources. These are colors, fonts,
the selection mechanism, timed events, window handling, tooltips and general drag and
drop handling. We'll describe certain features in place, other are described in
separate chapters.
As a convinience for the developer of GUI objects and for a easy configuration of general
look and feel, VisualOberon already offers a number of building colors by defining a number
of predefined pens, named by an abstract purpose description. F.e. there exists a color
handle for the globally defined window background and a color handle for text color.
You should use this default pens everywhere where possible. These colors are granted to
be defined senseable and using them will take away from you the work of handling various
possible color depths.
Howver the programmer can allocate its own colors. Custom color handling in VisualOberon
is currently rather simple. It is designed for work for a limited number of colors
because for each color used a internal structure is allocated. Allocating a huge number
of colors may result in huge memory consuption. There is also a hardcode limit of
maximal allocatable colors (MAX(LONGINT) DIV 2
).
Custom color handling is based on allocating a color when needed and freeing it when it
is no longer needed. For allocating a color, two ways can be used: Allocating a color by
its name (which names exist may be dependent of the operating system or even the computer
the program is running) using AllocateNamedColor
or by giving the rgb
value of the color, where every part is described by a LONGINT
value
(AllocateColor
). While a LONGINT
has a rather huge resolution (32 bits)
VisualOberon is free to cut the resolution down to a lower resolution.
Another important thing to now, is, that VisualOberon does somekind of
color sharing. This means, that, when two objects allocate the same color, both will
share the same handle. VisualOberon internaly does somekind of reference counting. Only
when all objects free the color, it gets really deallocated. This means that a handle
can be valid, even when the object already deallocated the handle. Don't count
on that! You should use color names as often as possible, to ensure, that color
sharing can be as effective as possible and reduce the number of system colors used. Most
display have a limit of globaly allocated colors.
The allocation of a color can fail. Reasons can likely be found on the operating
system side. Allocating colors might fail on lower or monochrome displays. The maximum
number of globaly allocated colors migh have been reached. However it is possible, that
VisualOberon (or the underlying operating system) might return a color close to the
original color values or even dither the color. Note, that you can query the
number of colors by examing the colorMode
and colorDepth
members of
Display
. To reduce the problem of handling of failed color requests and
to make the application more robust regarding external ressources, you must always hand a
default handle (wich should abviously be maped to some internaly offered abstract color
handle). The allocation methods will automatically return the default handle when
the allocation of a pen failed.
Freeing of colors in VisualOberon is rather tricky since garbage collection does not
work for it (it is possible that this may change, when an mechanism for finalisation
within the garbage collector exists.). You must explicitely free a color, or frequent
allocation of colors might result into a color overrun over the time. Best way to do
semi-automatic color freeing is by using the build methods of registering objects
within the destruction of windows.
Font handling in VisualOberon is currently rather primitive. As with colors
VisualOberon supports a number of predefined fonts. There exist two classes of
predefined fonts: One for pproportional fonts and one for fixed fonts. Proportional
fonts constants are named similar to TeX font sizes. VisualOberon supports at the
moment only one fixed font.
The DrawInfo
class offeres you a number of ways to calculate the size of an string
in respect to a given font.
Similar to other graphics engines VisualOberon has a class that stores all
information necessary for drawing into a window. The methods of this class offer
you a number of ways to draw into a window. DrawInfo
encapsulates the OS-dependend
details from you and hides them behind its interface. Each window has its own instance
of DrawInfo
since the information hold are specific for one window. Because of that
and because of the graphical objects storing the offered instance one must take special
care when trying to draw an object into different windows. Also, while it should be in
priciple possible, VisualOberon does currently not support the allocation of more than
one instance of DrawInfo
for a window. You must use the instance allocated and
handed by the window.
One concept that is used when handling various attributes of drawing like pen size
and font type, is that of pushing and poping these attributes.
Existing attribute values are not overwritten but the old various are pushed on a stack
and then the new values are set. When you don't need the set values you must then pop them
of the stack and by this restore the old values. You must take care that your call
push and pop methods in pairs! If not, you will get strange effects, most likely
object using wrong attributes, like wrong colors or wrong fonts. VisualOberon checks,
after a instance of DrawInfo
gets deleted aka a window has been closed, if all stacks
are empty and will dump a warning if not.
This aproach has advantages, since objects need not to store old attribute values when
setting them. However, since currently most object exspect default values for some
attributes (f.e. all objects assume that the pen size is zero) one should not have
attributes pushed while calling drawing routines of other objects.
Not done yet.
Using, handling and displaying of keyboard focus can be divided in to three parts.
Not done yet.
The task of the keyboard handler class is to store the list of objects that
has been registered by the programmer via the AddFocusObject
-method.
It purpose is also the implement the abstract interface defined by the interaction
between the VODisplay.Display
and the various window classes derived from
VODisplay.Window
. It has to handle focus displaying when the window
gets (de)activated and when the window (called by the display) wants a new
object to focus.
The objects uses itself some flags in the VOGUIObject.Object.flags
attribute to hold information about its state regarding keyboard focus handling:
stdFocus
-
The object uses the build in way to graphically display that it has the
keyboard focus. The default way is to draw a frame around the object.
CalcSize
automatically allocates enough space to display the
focus (in fact this is the reason for using separate attributes
width
, height
and oWidth
, oheight
for
differentiating between the interior and exterior size). Other objects
should always use the later one while the object itself should always
use the first attributes for dealing with its bounds.
canFocus
-
This flag signals, that the object is prepared to handle keyboard input
when it has the keyboard focus. A button f.e. can be selected by using the
space-key, a scrollbar can be scrolled by using the cursor up
and cursor down keys. This flags to not state that the object can
display the focus since this is allways possible using the
build in default facilities.
mayFocus
-
This flags means, that the object has been added to the keyboard chain and
thus should prepare itself to display its keyboard frame. It should f.e.
reseve extra space for the frame. This flag will be set by the keyboard
handler object for a registered object or by a registered object to delegate
the display of keyboard focusing to a sub object. A button f.e. may delegate
the display of the focus frame to its label, most likely when the label itself
does not use the build in focus frame display routines but its own (which will
be signalled by the
stdFocus
flag).
hasFocus
-
This flag will be set when the object currently does have the keyboard focus.
The flag will be set and cleared by the
CatchedFocus
and LostFocus
methods of the VOGUIObject.Object
baseclass which in turn will be called
by the keyboard handler of the window. This methods will also call DrawFocus
and HideFocus
methods which are responsible for drawing and hiding the
keyboard focus frame (the baseclass methods will implement drawing a focus via
the build in way).
When doing drawing and refreshing and the hasFocus
flag of the object
is set the object should then also call its DrawFocus
method. A object
should not set the flag for its sub objects (e.g the label of a button) but
should call their DrawFocus
method within its own DrawFocus
method. Look at the description of the showFocus
flag for that case.
showFocus
-
This flag will be set by an object that has the keyboard focus
(
CatchedFocus
has been called and hasFocus
has been set within this
method) for a subobject (f.e. the buttons sets it for its label) to signal
the subobject that it should display a keyboard focus when drawing. The flag must
clear when the focus has been lost (LostFocus
has been called). An object
should be check, if it has to draw the focus by calling DisplayFocus
, which
will return TRUE
when either hasFocus
or showFocus
have been
set and the object does not have stdFocus
set (Draw
will draw the
standard keyboard frame, when stdFocus
is set).
To summerise, there are two different kinds of object dealing differently with
focus displaying:
Objects (likely gadgets or group objects) that handle keyboard input on
keyboard focus directly get the focus when CatchedFocus
has been called
and loose it whenLostFocus
has been called. When stdFocus
has been
set no more interaction is necessary since DrawFocus
, HideFocus
and Draw
handle everything automatically. If there want to display a
custom focus the must overload DrawFocus
and HideFocus
and
must draw the focus in Draw
when hasFocus
has been set. If
mayFocus
has been set, the object must prepare itself to display
its focus and must eventually reserve extra space while layouting in
CalcSize
.
If the object wants to delegate the displaying of the focus to another subobject
it has to overload CatchedFocus
and LostFocus
and set / clear the
showFocus
flag for that subobject. It does not have to call extra code
in Draw
since the subobject knows that it displays the focus and will
do that automatically when Draw
gets called.
Passive object using the default way of displaying focus donīt have do to
anything to support focus framing.
If they want to implement custom focus displaying the should clear the
stdFocus
flag to signal this. They also must overload the
DrawFocus
and HideFocus
methods to handle focus switching and
must also check the result of DisplayFocus
within Draw
(and possibly
other drawing methods like Redaw
and Refresh
) to display
the focus in that routine, too.
Active object are urged to only delegate focus displaying when the subobject
support its own way of focus displaying, e.g. stdFocus
is not
set.
Note also, that, if you overwrite other drawing methods like Redaw
and
Refresh
you are responsible for drawing the keyboard focus, too, even
if you are using the default methods of focus displaying.
VO supports loading and displaying of Xpm images trough the
VOXpmImage
-class. To get the best result, there are some
restrictions you must consider, if you are using this class:
Since VO handles all display types from monochrome upto true colour your
images must display themselves on all these displays, too. The get this
working, you must extensively use the possibilities the xpm-format offers.
Thus you must define a reasonable colour for all four display types xpm
supports (m, m4, g, c). To support the correct display of images, VOXpmImage
does even more for you. It offers all its internal coloursettings as
symbolic name for you. Thus to get the background of your image with the
correct background colour currently used by VO you can specify a symbolic
name for your backgroundcolour named background
. For all symbolic
colours supported, look at the end of `VODisplay.Mod'-module.
Drag and drop today is a common mechanism for manipulating data and ease the
use of dialogs. This chapter describes the use of drag and drop from the view
of the user and then the internal drag and drop mechanisms of VisualOberon and
how one can integrate drag and drop within its own application or object.
Drag and drop is initiated by pressing the drag and drop mousebutton (under
X11 this is the middle mousebutton) ofter an object (the drag object)
and then moving the mouse while holding the mousebutton. The mouse pointer
will change to show the start of dragging. You can then move the mouse
(while still pressing the mousebutton) to the object (the drop object)
where you want the drop the data associated with the draged object
on. The drag and the drop object can be in different windows but the windows
must (currently) belong to the same application. VisualOberon does not
support inter application drag and drop yet.
One of a number of different actions can be associated with drag and drop. Which
action has been choosed will be visualised by the mouse pointer.
Which action is choosed depends on the keyboard qualifier you have pressed
when starting the drag. There is also some default action assiciated with
each object type. If you do not press a qualifier that action will be choosed.
The different actions are:
- copy (control qualifier)
-
The data associated with the drag object will be copied to the drop
destination.
- move (shift qualifier)
-
The data associated with the drag object will be move to the drop
destination. That means, the data will be deleted at the drag object
copied to the drop objec.
- link (shift and control qualifier)
-
The data will not be copied but a link between the drag and the drop object
or their data will be established.
The way VisualOberon internally is rather complex but most of the protocol
stuff will be handled by VODisplay.Window - the window baseclass - so normally
you just need to implement a few nw methos for an object to support drag
and drop.
The drag and drop information flow will shown following the methods that
get called while doing drag and drop.
VOWindow.GetDnDObject
-
After the window got the special combination of mouse and key events that possibly
start a drag action it asks itself for an drag object under the mousepointer by
calling
Window.GetDnDObject
. Each window inheriting from VODisplay.Window
must overload this method and in turn must ask its top object by calling
Object.GetDnDObject
. Group object must delegate the call to all the object
they contain while other object must check if they are under the mouse pointer and must
check if support dragging of data. If they do so they must return a pointer to
themself.
Object.GetDragInfo
-
The widow base class then ask this object to fill the handed DnDDragInfo instance
with information about the datatype group and datatypes it supports, the possible actions
it supports for each entry and the default action is defines for each entry. The window
then changes the mouse pointer to the action the used selected by using the mentioned
special qualifiers. Then it just polls the event loop as usual until the user raises
the mouse button again.
VOWindow.GetDnDObject
-
It then calls
VOWindow.GetDnDObject
again, now to find out the drop object
in the destination window (which can be the same as he window of the drag object).
Object.GetDropDataType
-
If the destination window is not blocked (f.e., because some modal window has been
opened) and drag and drop object are not equal the window then calls
Object.getDropDataType
handing the DnDDataInfo
structure and the drag
and drop action choosen by the user. The Object then has to return the datatype group
and datatype it wants to get from the drag object. It may analyse the structure
itself but it may also the select mechanism build in in DnDDataInfo
for
convinience.
Object.GetDragData
-
If the drop object has selected a datatype this datatype will the be requested
from the drag object by calling
Object.GetDragData
. The object returns
an instance of the DnDData
object. The DnDData
object can be overloaded
to return any datatype you like.
Object.handleDrop
-
After that the window hands the
DnDData
object recieved by the drag object to
the drop object together with action. It is then the task of the drop object to
interpret the type of DnDData
and the action.
3.7.3 References
VODisplay.Mod
-
section 5.19 VODisplay.Mod
VODisplay.ObjectDesc
-
section 5.19.1 ObjectDesc
VOGUIObject.Mod
-
section 5.22 VOGUIObject.Mod
VOGUIObject.ObjectDesc
-
section 5.22.2 ObjectDesc
VODragDrop.Mod
-
section 5.20 VODragDrop.Mod
VODragDrop.DnDData
-
section 5.20.3 DnDDataDesc
VODragDrop.DnDDataInfo
-
section 5.20.2 DnDDataInfoDesc
VO implements a powerfull configurationsystem, which enables the user
to adapt the look and the feel of VO for his own likes.
The purpose of the configuration and preference system is maximum
usebillity and flexibility. It archives by using a well named and
ordered number of textual configurationsfiles. VO searches for this
files in the directory `.VisualOberon' in the homedirectory of the
user.
Like VO itself, which splits itself into a number of modules, each of
this modules has its own configuration file. The name of the
configurations is closed bound to the name of the corresponding module.
All configurationfile end in `.res'
Each of this files follows the same syntax:
A configurations file consists of a number of blocks. Each blocks
starts with BEGIN
follow by the name of the block, after that a
number of entries and ended by the word END
.
A entry consists of a name follow by :=
and a value. A value
can be a name, a number, a string beginning and ending with "
or
'
. It its possible that an entry consists of a list of values,
values are then separated by ,
. Since VO supports nested
structures another possible value is another block. Entries itself are
separated by ;
. Names are alphanumeric, starting with a
character and are casesensitive.
You can also use comments, which start with a "#" and go till the end of the
current line. Note, that configurationsfiles might get generated and comments
will then be lost.
An example:
BEGIN COLORS
backgroundColor := "grey70";
textColor := "black";
shineColor := "grey95";
shadowColor := "grey20";
fillColor := "royal blue";
fillTextColor := "black";
tableBackgroundColor := "white";
textBackgroundColor := "white";
cursorColor := "red";
halfShineColor := "grey82";
halfShadowColor := "grey45";
warnColor := "red";
disabledColor := "grey20";
focusColor := "grey30";
blackColor := "black";
whiteColor := "white";
END
BEGIN FONTS
fixedFont := "fixed";
smallFont := "-adobe-helvetica-bold-r-normal--12-120-75-75-p-70-iso8859-1";
normalFont := "-adobe-helvetica-bold-r-normal--12-120-75-75-p-70-iso8859-1";
bigFont := "-adobe-helvetica-bold-r-normal--12-120-75-75-p-70-iso8859-1";
END
VO has a separate configuration file for each possible display and for
every display a separate file for each colourmode. The name for a
display gets generated by the name `Display' followed by a point,
followed by either `mono', `grey' or `colour', depending
of the colour resolution your display uses, followed by another point
and the ended by the contents of your DISPLAY-variable, which
normally consisting of the name of the computer followed by an optional
screennumber. As all configurationfiles the files end in `.res'.
An example:
Display.color.edge:0.0.res
Display consists of two blocks: COLORS, describing the colours to
use, and FONTS, describing the fonts to use.
The different colour- and fontdefinitions VO supports and their
defaultvalues can be found at the end of the file `VODisplay.Mod'.
Since they are likely to change, their are not described here yet.
Colornames and fontnames follow the definition of the operating system.
Examples can be found in the `VisualOberon' subdirectory of the VO
archive or in the example given above.
- MODULENAME
-
AsciiTable
- DESCRIPTION
-
A demo for the VOArray class. Shows all 256 keycodes in an array of buttons.
- IMPORTS
-
VOArray
VOButton
VODisplay
VOFrame
VOFrameGroup
VOGUIObject
VOQuickHelp
VOUtil
VOText
VOUsePrefs
VOWindow
VOWindowGroup
Ascii
Strings
IntStr
Err
- MODULENAME
-
Clock
- DESCRIPTION
-
A demo for the VOClock class. This little clock is really useable and
is used by the author as part of its fvwm2 button pannel.
- IMPORTS
-
VOClock
VODisplay
VOGUIObject
VOQuickHelp
VOText
VOUsePrefs
VOWindow
Err
Locales
- MODULENAME
-
DigiClock
- DESCRIPTION
-
A demo for the VODigiClock class. This little clock is really useable and
is used by the author as part of its fvwm2 button pannel.
- IMPORTS
-
VODigiClock
VODisplay
VOGUIObject
VOQuickHelp
VOText
VOUsePrefs
VOWindow
Err
Locales
- MODULENAME
-
DiskSize
- DESCRIPTION
-
Displays size of all disks.
- IMPORTS
-
VODisplay
VOGUIObject
VOKeyHandler
VOPanel
VOPieChart
VOPatternLegend
VOSpace
VOText
VOTab
VOUsePrefs
VOWindow
VOWindowGroup
Err
- MODULENAME
-
Doom
- DESCRIPTION
-
A little program to demonstrate our small doom engine.
- IMPORTS
-
VODisplay
VODoom
VOGUIObject
VOUsePrefs
VOWindow
Err
- MODULENAME
-
FontList
- DESCRIPTION
-
Demo for VisualOberon. Shows a list of all available fonts.
Note, that the fontlist may differ from the OS fontlist, because
VisualOberon may do some filtering.
- IMPORTS
-
VODisplay
VOGUIObject
VOKeyHandler
VOPanel
VOTable
VOTableModel
VOUsePrefs
VOWindow
IntStr
Err
- FUNCTIONS
-
PROCEDURE GetFontList(model : VOTableModel.ASTableModel);
-
- DESCRIPTION
-
(no description)
- MODULENAME
-
HelloWorld
- DESCRIPTION
-
A simple "Hello world!" demo for VisualOberon.
- IMPORTS
-
VODisplay
VOText
VOUsePrefs
VOWindow
VOWindowGroup
Err
- MODULENAME
-
PipeTest
- DESCRIPTION
-
A demo for the VOModelPipe class.
This should demonstrate how different model-types (int's & string's)
can be mixed to make an automated GUI
- IMPORTS
-
VOIntModel
VOString
VOPanel
VOSlider
VODisplay
VOGUIObject
VOText
VOUsePrefs
VOWindow
VOKeyHandler
Err
Locales
- MODULENAME
-
PlotTest
- DESCRIPTION
-
Demo for VisualOberon. Demonstrates the plot object.
- IMPORTS
-
VODisplay
VOGUIObject
VOPanel
VOPlot
VOFunctionModel
VOUsePrefs
VOWindow
Err
LRealMath
- CLASSNAME
-
SinModelDesc*
- BASECLASS
-
FM.FunctionLRealModelDesc
- POINTER
-
SinModel
- DESCIPTION
-
(no description)
- METHODS
-
PROCEDURE Init*;
-
- DESCRIPTION
-
(no description)
PROCEDURE SetValue*(dim : LONGINT; value : LONGREAL);
-
- DESCRIPTION
-
(no description)
PROCEDURE Dimension*():LONGINT;
-
- DESCRIPTION
-
(no description)
PROCEDURE Execute*():LONGREAL;
-
- DESCRIPTION
-
(no description)
- MODULENAME
-
StringTest
- DESCRIPTION
-
(no description)
- IMPORTS
-
VOString
VOPanel
VOStringModel
VODisplay
VOGUIObject
VOQuickHelp
VOText
VOUsePrefs
VOWindow
VOKeyHandler
Err
Locales
- MODULENAME
-
TestTable
- DESCRIPTION
-
Demo for VisualOberon. Demonstrates the table object.
- IMPORTS
-
VODisplay
VOGUIObject
VOKeyHandler
VOPanel
VOTable
VOTableModel
VOUsePrefs
VOWindow
Err
- MODULENAME
-
TestTree
- DESCRIPTION
-
Demo for VisualOberon. Demonstrates the tree object.
- IMPORTS
-
VODisplay
VOGUIObject
VOKeyHandler
VOTree
VOTreeModel
VOUsePrefs
VOWindow
Err
- MODULENAME
-
TextView
- DESCRIPTION
-
(no description)
- IMPORTS
-
VODisplay
VOGUIObject
VOKeyHandler
VOObject
VOPanel
VOQuickHelp
VOString
VOScroller
VOStringModel
VOSpace
VOTextViewModel
VOTextView
VOUsePrefs
VOWindow
Err
Files
Out
- FUNCTIONS
-
PROCEDURE LoadFile(name : ARRAY OF CHAR);
-
- DESCRIPTION
-
(no description)
- MODULENAME
-
VisualPrefs
- DESCRIPTION
-
The preferences program of VisualOberon.
All configuration of the GUI can be done, using this program.
- IMPORTS
-
VODisplay
VOPrefsGUI
VOUsePrefs
Err
- MODULENAME
-
VisualShow
- DESCRIPTION
-
Demo for VisualOberon. Demonstrates the image object.
- IMPORTS
-
VODisplay
VOGUIObject
VOImage
VOKeyHandler
VOPanel
VOText
VOUsePrefs
VOWindow
Err
ProgramArgs
TextRider
- MODULENAME
-
VOOOCP
- DESCRIPTION
-
VisualOberon preferences program for oo(2)c.
- IMPORTS
-
VOBool
VOBoolModel
VODisplay
VOGUIObject
VOKeyHandler
VOLabel
VOList
VOListModel
VOPanel
VOButton
VOString
VOStringModel
VOSpace
VOText
VOTab
VOUsePrefs
VOWindow
VOWindowGroup
Err
- FUNCTIONS
-
PROCEDURE AddBool(label : VOLabel.Label; handler : VOKeyHandler.KeyHandler; text : ARRAY OF CHAR);
-
- DESCRIPTION
-
(no description)
PROCEDURE AddString(label : VOLabel.Label; handler : VOKeyHandler.KeyHandler; text : ARRAY OF CHAR);
-
- DESCRIPTION
-
(no description)
PROCEDURE AddList(handler : VOKeyHandler.KeyHandler):VOGUIObject.Object;
-
- DESCRIPTION
-
(no description)
- MODULENAME
-
XTest
- DESCRIPTION
-
A senseless demo-programm for VisualOberon.
- IMPORTS
-
VOArray
VOButton
VOBoolModel
VOBool
VOColorArea
VOCycle
VOClock
VODisplay
VODataStreamModel
VOEvent
VOFrame
VOFrameGroup
VOFuelGauge
VOGUIObject
VOIntModel
VOKeyHandler
VOLabel
VOLightChain
VOLED
VOListModel
VOList
VOMenu
VOMsgDialog
VOObject
VOOszil
VOPanel
VOPane
VOPrefsGUI
VOPopup
VOPower
VOQuickHelp
VORadio
VOSpace
VOStringClock
VOSlider
VOStringModel
VOString
VOStatusLine
VOText
VOTab
VOToolbar
VOUsePrefs
VOWindow
VOWireFrame
VOWindowGroup
VOImage
Err
- FUNCTIONS
-
PROCEDURE MakeOKPopup(gadget : VOButton.Button):VOPopup.Popup;
-
- DESCRIPTION
-
(no description)
PROCEDURE NewImageEntry*(file : ARRAY OF CHAR):VOListModel.SimplEntry;
-
- DESCRIPTION
-
(no description)
PROCEDURE NewImage*(file : ARRAY OF CHAR):VOImage.Image;
-
- DESCRIPTION
-
(no description)
- CLASSNAME
-
DisplayDesc*
- BASECLASS
-
D.DisplayDesc
- POINTER
-
Display
- DESCIPTION
-
(no description)
- METHODS
-
PROCEDURE Receive*(message : VOObject.Message);
-
- DESCRIPTION
-
(no description)
- MODULENAME
-
VOBackground
- DESCRIPTION
-
Implements some classes for drawing object backgrounds in various ways.
- IMPORTS
-
VODisplay
VOGUIObject
VOImage
VOPrefsParser
- FUNCTIONS
-
PROCEDURE LoadBackground*(top : VOPrefsParser.Item):VOGUIObject.Background;
-
- DESCRIPTION
-
(no description)
PROCEDURE SaveBackground*(block : VOPrefsParser.BlockItem; background : VOGUIObject.Background);
-
- DESCRIPTION
-
(no description)
- CLASSNAME
-
ImageBackgroundDesc*
- BASECLASS
-
G.BackgroundDesc
- POINTER
-
ImageBackground
- DESCIPTION
-
(no description)
- METHODS
-
PROCEDURE Init*(filename : ARRAY OF CHAR);
-
- DESCRIPTION
-
(no description)
PROCEDURE CalcSize*(display : VODisplay.Display);
-
- DESCRIPTION
-
(no description)
PROCEDURE Draw*(object : VOGUIObject.Object; x,y,w,h : LONGINT);
-
- DESCRIPTION
-
(no description)
PROCEDURE Copy*():VOGUIObject.Background;
-
- DESCRIPTION
-
(no description)
PROCEDURE Free*;
-
- DESCRIPTION
-
(no description)
- CLASSNAME
-
TileBackgroundDesc*
- BASECLASS
-
G.BackgroundDesc
- POINTER
-
TileBackground
- DESCIPTION
-
(no description)
- METHODS
-
PROCEDURE Init*(filename : ARRAY OF CHAR);
-
- DESCRIPTION
-
(no description)
PROCEDURE CalcSize*(display : VODisplay.Display);
-
- DESCRIPTION
-
(no description)
PROCEDURE Draw*(object : VOGUIObject.Object; x,y,w,h : LONGINT);
-
- DESCRIPTION
-
(no description)
PROCEDURE Copy*():VOGUIObject.Background;
-
- DESCRIPTION
-
(no description)
PROCEDURE Free*;
-
- DESCRIPTION
-
(no description)
- MODULENAME
-
VODisplay
- DESCRIPTION
-
This module is responsible for the handling of the display and all
its attributes like color, font and that sort. It also exports the
class
DrawInfo
which implements an abstract, that means
OS-independend, drawing engine.
- TODO
-
* Busy function for *all* windows
* Rethink pens
- IMPORTS
-
SYSTEM
VODragDrop
VOEvent
VOLLInt
VOLLMac
VOObject
VOPrefs
VOUtil
Xatom
C
Calendar
Channel
IntStr
Err
Motif
MotifM
PosixFileDescr
SysClock
Strings
Strings2
Time
- FUNCTIONS
-
PROCEDURE GetField(VAR source : ARRAY OF CHAR; pos : INTEGER; VAR string : ARRAY OF CHAR);
-
- DESCRIPTION
-
(no description)
PROCEDURE ConvertField(VAR source : ARRAY OF CHAR; pos : INTEGER; string : ARRAY OF CHAR);
-
- DESCRIPTION
-
(no description)
PROCEDURE CreatePixmapCursor(bit1,bit2 : C.address; w,h : LONGINT):X11.Cursor;
-
- DESCRIPTION
-
(no description)
PROCEDURE XFree*(pointer : SYSTEM.PTR);
-
- DESCRIPTION
-
Frees memory allocated using X11 if the pointer is not
NIL
.
- CLASSNAME
-
ObjectDesc*
- BASECLASS
-
O.MsgObjectDesc
- POINTER
-
Object
- DESCIPTION
-
The display defines its GUIobject to be able to store pointers
to GUIobjects. VOGUIObject.Object inherits from this object.
- METHODS
-
PROCEDURE GetDragInfo*(VAR dragInfo : VODragDrop.DnDDataInfo);
-
- DESCRIPTION
-
Before the data drop actually occurs the drag object will be asked
for a list of supported datatypes. This will then be handed to the
drop object which than can select a apropiate datatype. This type will
the requested from the drag object and after that will be handed to the
drop object.
- NOTE
-
The is no way to cancel the action at that point the object has already
made itself valid by answering VOGUIObject.Object.GetDnDObject.
This is only true for internal drag and drop. External drag and drop may
leave some of the described steps. An object must be prepared of that.
PROCEDURE GetDragData*(group, type, action : LONGINT):VODragDrop.DnDData;
-
- DESCRIPTION
-
All objects support drag actions. Return a derived class from
VODragDrop.DnDData if you can offer drag data of the given type
or NIL.
- NOTE
-
data should really be of type DataDesc, but there seems to be
compiler bugs with it. We will change this later.
PROCEDURE GetDropDataType*(VAR dragInfo : VODragDrop.DnDDataInfo; VAR group,type,action : LONGINT):BOOLEAN;
-
- DESCRIPTION
-
The object gets a list of supported datatypes of the drag object and
has to choose one of them. If there is no fitting datatype it must return
FALSE.
PROCEDURE HandleDrop*(data : VODragDrop.DnDData; action : LONGINT):BOOLEAN;
-
- DESCRIPTION
-
All object can handle drop actions. Return TRUE if you have
handled the drop event.
PROCEDURE Deselect*;
-
- DESCRIPTION
-
Gets called, when the object has registered a selection using
Display.RegisterSelection and now should deselect itself because
somebody else has registered an selection.
- CLASSNAME
-
WindowDesc*
- BASECLASS
-
O.MsgObjectDesc
- POINTER
-
Window
- DESCIPTION
-
The abstract baseclass for all windows. All windows should derive
from this class and call the apropiate methods where stated.
- NOTE
-
Window inherits from O.MsgObject, you can send messages to it.
- METHODS
-
PROCEDURE GrabOn;
-
- DESCRIPTION
-
Grabs the mouse cursor and keyboard.
PROCEDURE GrabOff;
-
- DESCRIPTION
-
Releases the grab of the mouse cursor and the keyboard.
PROCEDURE HandleDrag(event : VOEvent.Event):BOOLEAN;
-
- DESCRIPTION
-
Called when some drag action should be started.
PROCEDURE HandleDragDrop(event : VOEvent.Event):BOOLEAN;
-
- DESCRIPTION
-
Called when a drop action should be handled.
PROCEDURE HandleXSelectionNotify(event : X11.XSelectionEvent);
-
- DESCRIPTION
-
Handle the XSelecitionNotify of X11. A SelectionNotify gets send
when someone made a request for the selection value. The event states
where one can get the selection value from.
PROCEDURE HandleXSelectionRequest(event : X11.XSelectionRequestEvent);
-
- DESCRIPTION
-
handle XSelectionrequest of X11. A SelectionRequest gets send when some application
wants the selection value and your window has registered the selection. We
ask the object which has registered the selection for the selection value
and return a notify message to the requestor.
PROCEDURE Init*;
-
- DESCRIPTION
-
Initialize an instance of the window class.
- NOTE
-
You must call this before using a window.
PROCEDURE SetParent*(parent : Window);
-
- DESCRIPTION
-
Sets the parent window of the current window. VisualOberon will try to
make use of the supplied information about the hierachical structure of
the window tree.
- NOTE
-
Parent will only be evaluated before first opening.
PROCEDURE SetTitle*(name : ARRAY OF CHAR);
-
- DESCRIPTION
-
Sets the title of the window.
- NOTE
-
Value will only be used before first opening.
PROCEDURE SetDisplay*(display : Display);
-
- DESCRIPTION
-
Sets the display for the window.
- NOTE
-
Only evaluated before first opening.
PROCEDURE SetModal*;
-
- DESCRIPTION
-
Make the window modal.
PROCEDURE SetBackground*(color : Color);
-
- DESCRIPTION
-
Sets the background color.
PROCEDURE Borderless*(borderless : BOOLEAN);
-
- DESCRIPTION
-
Make the window borderless.
- NOTE
-
Only evaluated before first opening.
PROCEDURE CreateAllways*(create : BOOLEAN);
-
- DESCRIPTION
-
Tells the window to allways create a new window of the underlying
windowing-system on a call to Window.Open. This is most usefull for
unmodal windows or popups where it is difficult to track open and close
calls.
PROCEDURE SetSize*(width,height : LONGINT);
-
- DESCRIPTION
-
Sets the width and height of the window.
- NOTE
-
Does only work, if the windows is not open. If the window is open,
use Window.Resize instead.
PROCEDURE SetMinSize*(width,height : LONGINT);
-
- DESCRIPTION
-
Sets the minimal width and height of the window.
- NOTE
-
Does only work, if the windows is not open. If the window is open,
use Window.Resize instead.
PROCEDURE SetMaxSize*(width,height : LONGINT);
-
- DESCRIPTION
-
Sets the maximal width and height of the window.
- NOTE
-
Does only work, if the windows is not open. If the window is open,
use Window.Resize instead.
PROCEDURE SetPos*(x,y : LONGINT);
-
- DESCRIPTION
-
Sets the top left of the window.
- NOTE
-
Does only work, if the windows is not open. If the window is open,
use Window.Resize instead.
PROCEDURE SetPosition*(horiz, vert : LONGINT);
-
- DESCRIPTION
-
Set the position modes for vertical and horizotal positioning of the window
on the display. If no modes are explicitly set, the x,y position of the
window will be used. This position is the position set with SetPos
or defaults to zero. In this case the windowmanager might position the
window (it might, too, if you set a mode, since a windowmanager may ignore
these values).
PROCEDURE AddFreeList*(object : VOObject.Object);
-
- DESCRIPTION
-
Using this function you can link object to the window. If the window gets
deleted (you must call Window.Delete when the window is not used anymore!)
all Object.Free gets called for all objects in the freelist. This way you
can asure that objects that allocate OS ressources (like bitmaps, colors,
fonts etc...) free this ressources.
The order of calls to Free for the registered objects is not determinated.
Also can cannot be sure that Free gets called only ones. For windows which
have createAllways set, Free gets called every time after the window gets
closed. So you should allocate your ressources and
register yourself in GObject.CalcSize to asure reentrace. Object.Free is
currently not called on program exit! You can call AddFreeList more than
once.
You can get a pointer to the window via Display.currentWin while in
Object.CalcSize.
PROCEDURE Resize*(width,height : LONGINT);
-
- DESCRIPTION
-
Resize the window to the given size. Be carefull to not resize the window
below the minimal bounds of the top object. Best is to leave resize handling
completely to the derived window class.
- NOTE
-
Derived class should size against minimal and maximal size of its top object.
PROCEDURE PreInit*;
-
- DESCRIPTION
-
Will be called, when the Window.Open methods needs to create a window
of the underlying OS. This maybe once before the first call to open or
before every open when CreateAllways has been called.
This allows delayed creation of the object-hierachie within the window.
- NOTE
-
You must call the method of the baseclass if you overload this method.
PROCEDURE Grab*(grab : BOOLEAN);
-
- DESCRIPTION
-
Do mouse and keyboard-grabing.
- NOTE
-
Changing the value does only work, when the window is not visible.
PROCEDURE Open*;
-
- DESCRIPTION
-
Opens the window.
- NOTE
-
Derived classes must call th e baseclass method.
PROCEDURE ReinitWindow*;
-
- DESCRIPTION
-
Called, when the display want the window to reinit itself, f.e
when the preferences of some or all of the objects has been changed.
PROCEDURE Hide*;
-
- DESCRIPTION
-
Call this method when you want the window to hide.
The window has to call Object.Hide on each of its containing
object to ensure, that the Object.visible has has been cleared.
- NOTE
-
Hiding a window does not mean that the window will be destroyed. After
creation you can open and hide a window as often as you like.
Currently this message does nothing however should always call the baseclass
method.
PROCEDURE Close*;
-
- DESCRIPTION
-
Removes the window from the list of windows known by the
Display.
- NOTE
-
You must call this method before closing the window.
PROCEDURE Delete*;
-
- DESCRIPTION
-
Deinitializes the window.
- NOTE
-
Call this method before deleting the window.
PROCEDURE GetXY*(VAR x,y : LONGINT);
-
- DESCRIPTION
-
Convert the window relative x,y coords to absolute coords.
PROCEDURE GetMousePos*(VAR rx, ry, wx, wy : LONGINT);
-
- DESCRIPTION
-
Returns the mouse position in window relative and abslute coords.
PROCEDURE ClosePressed*;
-
- DESCRIPTION
-
Called when the the closing gadget of the window got pressed.
PROCEDURE Maped*;
-
- DESCRIPTION
-
Called, when window has been maped.
Call baseclass method, when you inherit.
PROCEDURE Unmaped*;
-
- DESCRIPTION
-
Called, when window has been unmaped.
Call baseclass method, when you inherit.
PROCEDURE FocusIn*;
-
- DESCRIPTION
-
Called, when the window gets the keyboard focus.
PROCEDURE FocusOut*;
-
- DESCRIPTION
-
Called, when the window looses the keyboard focus.
PROCEDURE Hidden*;
-
- DESCRIPTION
-
This method get calls, when the window becomes (partial) hidden, e.g.
gets covered by another window. This is likely to not be supported for all
platforms.
PROCEDURE Left*;
-
- DESCRIPTION
-
Gets called, when the mouse (not the focus!) has left the window.
PROCEDURE Draw*;
-
- DESCRIPTION
-
Will be called, if you have to initial draw yourself.
Overload it as aproximate.
PROCEDURE Redraw*(x,y,width,height : LONGINT);
-
- DESCRIPTION
-
Will be called, if you have to redraw yourself.
Overload it as aproximate. The window can restrict the redrawing to the given
area.
PROCEDURE Resized*(width,height : LONGINT);
-
- DESCRIPTION
-
This method gets called, when the window has been resized.
The given size is the size of the window-inner, that means,
the size of the window without its borders.
Note, that window#decorationwindow!
PROCEDURE ContextHelp*;
-
- DESCRIPTION
-
This method gets called, when the display thinks you should
open a tooltip help.
PROCEDURE ContextMenu*():BOOLEAN;
-
- DESCRIPTION
-
This method gets called, when the display things you should
open a context sensitiv menu.
- RESULT
-
Return TRUE if you have opened a context menu, else FALSE.
- NOTE
-
If this method returns FALSE, the display will propagate
the corresponding event that started contextsensitive help
to the window.
PROCEDURE FocusNext*;
-
- DESCRIPTION
-
This one gets called, when the display thinks the window should
change the KeyboardFocus.
PROCEDURE FocusObjectHides*;
-
- DESCRIPTION
-
This one gets called by the focus object, if it hides.
PROCEDURE GetDnDObject*(x,y : LONGINT; drag : BOOLEAN):Object;
-
- DESCRIPTION
-
Returns the object that coveres the given point and that supports
dragging of data.
If drag is TRUE, when want to find a object that we can drag data from,
else we want an object to drop data on.
- NOTE
-
A window can be sure to be called only, if dragging or dropping makes sense.
For example, you cannot drop data onto a window that is block due to its
modal count. However, you can always drag data from a window.
PROCEDURE HandleEvent*(event : VOEvent.Event):BOOLEAN;
-
- DESCRIPTION
-
If you derive yourself from window and want to overload the
defaulthandler, call the baseclass first in your handler and check the
result, if its is TRUE the defaulthandler has allready handled it.
- CLASSNAME
-
BitmapDesc*
- BASECLASS
-
(no base)
- POINTER
-
Bitmap
- DESCIPTION
-
(no description)
- CLASSNAME
-
FontDesc*
- BASECLASS
-
(no base)
- POINTER
-
Font
- DESCIPTION
-
Abstract fontdefinition.
- METHODS
-
PROCEDURE InitFromFontInfo(name : ARRAY OF CHAR; info : X11.XFontStructPtr);
-
- DESCRIPTION
-
(no description)
PROCEDURE StyleToPos(style : SET):LONGINT;
-
- DESCRIPTION
-
Calculates the position in the fontstyle array for the given style.
PROCEDURE GetFontPos(style : SET):LONGINT;
-
- DESCRIPTION
-
Returns the offset in the font array, that corresponds to the given style.
uses Font.StyleToPos.
- NOTE
-
GetFontPos tries to find a "close" font if a font with the given style bits
does not exist. Currently it sees italic and slanted as equal, so if no italic
font does exist, it tries a slanted one and vice versa.
PROCEDURE LoadFont(display : Display; name: ARRAY OF CHAR; full : BOOLEAN):BOOLEAN;
-
- DESCRIPTION
-
Loads the given font. First tries to find an ressource entry
with the given name and load the font stored there before falling
back to the given default.
This method is X11 specific.
PROCEDURE Load(display : Display; VAR id : LONGINT):BOOLEAN;
-
- DESCRIPTION
-
Loads the font. The OS specific font will be matched by evaluating the
handed features. Every font loaded must be free using Free.
RETURNS
If the font can be loaded the method returns a new instance of font that must be used
for future uses exspecially when calling Free.
PROCEDURE Free(display : Display);
-
- DESCRIPTION
-
(no description)
PROCEDURE GetFontHandle(style : SET):X11.XFontStructPtr;
-
- DESCRIPTION
-
Returns a pointer to the OS-specific font handler.
PROCEDURE Init*;
-
- DESCRIPTION
-
Initialize a font object.
PROCEDURE TextWidth*(text : ARRAY OF CHAR; length : LONGINT; style : SET):LONGINT;
-
- DESCRIPTION
-
Returns the width of the given text in pixels in respect to the font.
PROCEDURE TextExtent*(text : ARRAY OF CHAR; length : LONGINT; style : SET; VAR extent : FontExtentDesc);
-
- DESCRIPTION
-
Returns a FontExtent giving more information about the size of the string.
- CLASSNAME
-
FontExtentDesc*
- BASECLASS
-
(no base)
- POINTER
-
(no pointer)
- DESCIPTION
-
Returned by Font.FontExtent.
- CLASSNAME
-
ColorEntryDesc*
- BASECLASS
-
(no base)
- POINTER
-
ColorEntry
- DESCIPTION
-
Internal structure to store information about on color entry.
- NOTE
-
color should hold information about OS specific colorinformation.
- CLASSNAME
-
DisplayDesc*
- BASECLASS
-
O.MsgObjectDesc
- POINTER
-
Display
- DESCIPTION
-
Class that abstracts the properties of a display.
- METHODS
-
PROCEDURE AddFont(font : Font);
-
- DESCRIPTION
-
Initializes an Data object.
PROCEDURE CheckTimeOuts;
-
- DESCRIPTION
-
Check the list of registered timeouts and send a message for every elapsed
timeout.
PROCEDURE GetNextTimeOut(VAR interval : Time.Interval);
-
- DESCRIPTION
-
Return the next pending future time event. If there is no event pending it
will return a event 10 seconds in the future.
PROCEDURE CheckSleeps;
-
- DESCRIPTION
-
Check the list of registered sleeps and send a message for every elapsed
timeout.
PROCEDURE SetNewWindow(window : Window);
-
- DESCRIPTION
-
This will be set before a window calls its Preinit method. If you overload
the Preinit method to add some custom stuff (common way to create custom
dialogs).
- NOTE
-
I'm not sure why I wrote this one, however XpmImage uses it!?
PROCEDURE GetWindowOnScreen(VAR rX,rY,cX,cY : LONGINT):X11.Window;
-
- DESCRIPTION
-
Returns the window currently under the mouse pointer. It also returns the
screen relative and window relative mouse coordinates.
PROCEDURE GetFont*(id : LONGINT):Font;
-
- DESCRIPTION
-
Return the font for the given font id.
PROCEDURE LoadFont*(font : Font; VAR id : LONGINT):BOOLEAN;
-
- DESCRIPTION
-
Loads the font. The OS specific font will be matched by evaluating the
handed features. Every font loaded must be free using Free.
RETURNS
If the font can be loaded the method returns a new instance of font that must be used
for future uses exspecially when calling Free.
PROCEDURE FreeFont*(id : LONGINT);
-
- DESCRIPTION
-
Free a font loaded using LoadFont.
PROCEDURE GetX11Color*(color : Color):C.longint;
-
- DESCRIPTION
-
Converts the nummerical VO color id to a X11 color id.
- NOTE
-
Though this method s is exported you should not use it. It is only for some
lowlevel classes like XpmImage, which need direct access to the X11 color values.
PROCEDURE AllocateColor*(r,g,b,default : LONGINT):Color;
-
- DESCRIPTION
-
Allocate a color with the given rgb values. Since colors cannot be
garbage collected you must store the color id and free the color later.
- RESULT
-
A color id. You need to store this to free the color later.
- NOTE
-
You cannot be sure that all bits of the color values will be used.
X11 f.e. only uses 16 bit for color description.
PROCEDURE AllocateNamedColor*(name : ARRAY OF CHAR; default : Color):Color;
-
- DESCRIPTION
-
(no description)
PROCEDURE IsAllocatedColor*(color : Color):BOOLEAN;
-
- DESCRIPTION
-
(no description)
PROCEDURE FreeColor*(color : Color);
-
- DESCRIPTION
-
(no description)
PROCEDURE AddTimeOut*(sec, msec : LONGINT; object : VOObject.MsgObject):TimeOut;
-
- DESCRIPTION
-
Add a timeout. The object will be send a TimeOutMsg directly after
the given (relative) time has been elapsed.
- NOTE
-
It is garanteed that the time has been elasped when the object
get notified. However, since there is no real multitasking involved,
it may get called later.
If the timeout has been elasped and the message has been send, there is
no need to remove the TimeOut. Dipslay does this for you.
PROCEDURE RemoveTimeOut*(timeOut : TimeOut);
-
- DESCRIPTION
-
Remove a TimeOut before it has been elasped. It is save to call this function with
a TimeOut-instance of an already elapsed time event.
PROCEDURE AddSleep*(object : VOObject.MsgObject):Sleep;
-
- DESCRIPTION
-
Using this method, you can add an object to be called whenever the application is
not busy. This way you can write applications that take as much processor time as
possible while still listening to windowing events.
Note, that you must design the action to be taken when the object is called to be
rather short, since all event handling will be blocked during this time. If you
want do handle long time actions you must split them into short partial actions.
PROCEDURE RemoveSleep*(sleep : Sleep);
-
- DESCRIPTION
-
Removes the given sleep notifier.
PROCEDURE AddChannel*(channel : Channel.Channel; object : VOObject.MsgObject):Channel;
-
- DESCRIPTION
-
Using this method, you can add an object to be called whenever the handed
channel gets available.
Note, that you must design the action to be taken when the object is
called to be rather short, since the complete event handling will be
blocked during this time. If you want do handle long time actions you
must split them into short partial actions.
PROCEDURE RemoveChannel*(channel : Channel);
-
- DESCRIPTION
-
Removes the given sleep notifier.
PROCEDURE StopContextHelp*;
-
- DESCRIPTION
-
Call this method if you want the Display to stop generating
QuickHelp calls to windows. This is necessesarry, if you are
opening a QuickHelp and don't want to have a second after the
second timeout.
PROCEDURE RestartContextHelp*;
-
- DESCRIPTION
-
Restart the generation of QuickHelp calls to windows stoped
with Display.StopContextHelp.
PROCEDURE StartContextHelp*;
-
- DESCRIPTION
-
Restart the generation of QuickHelp calls to windows stoped
with Display.StopContextHelp.
PROCEDURE AddWindow*(w : Window);
-
- DESCRIPTION
-
Adds window to the internal list of windows.
PROCEDURE RemoveWindow*(w : Window);
-
- DESCRIPTION
-
Removes window from the internal list of windows.
PROCEDURE GetNewWindow*():Window;
-
- DESCRIPTION
-
Return the window set using SetNewWindow.
PROCEDURE CreateBitmap*(width, height : LONGINT):Bitmap;
-
- DESCRIPTION
-
(no description)
PROCEDURE FreeBitmap*(bitmap : Bitmap);
-
- DESCRIPTION
-
(no description)
PROCEDURE GetFontList*():Font;
-
- DESCRIPTION
-
(no description)
PROCEDURE GetWindow*(window : X11.Window):Window;
-
- DESCRIPTION
-
Get the VO window matching the given X11 window.
PROCEDURE InitDisplay*(name : ARRAY OF CHAR):BOOLEAN;
-
- DESCRIPTION
-
Initialize a instance of the Display class.
PROCEDURE Flush*;
-
- DESCRIPTION
-
Flushes all pending events. makes only sense for asnsycronous
windowing systems like X11.
PROCEDURE RegisterSelection*(object : Object; window : Window):BOOLEAN;
-
- DESCRIPTION
-
using this method an object can register itself a holder of the current
selection.
PROCEDURE CancelSelection*;
-
- DESCRIPTION
-
Using this method an object can cacel the before registered selection. This can f.e
happen, when the object hides.
PROCEDURE QuerySelection*(window: Window; object: Object; type: LONGINT):BOOLEAN;
-
- DESCRIPTION
-
Call this method if you want to get the value of the global selection. If
VisualOberon can get the selection the handleDropData method of the
querying object will be called with a VODragDrop.insert action. Note that there
may be some undeterminate amount of time between the query and the drop, it is
also possible that the HandleDrop method will never will called.
PROCEDURE ReinitWindows*;
-
- DESCRIPTION
-
Call this methods, if you want all windows to reinit themself, f.e.
when the preferences of the some of the objects have been changed.
PROCEDURE PutBackEvent*(event : VOEvent.Event; destWin : Window);
-
- DESCRIPTION
-
Put an event back into the message handling queue.
PROCEDURE GetEvent*;
-
- DESCRIPTION
-
(no description)
PROCEDURE Wait*(x11FD : C.int; interval : Time.Interval):BOOLEAN;
-
- DESCRIPTION
-
Waits for events on the given filedescriptor with the given timeout.
Returns TRUE, if the wait exceeds the given timeout, else FALSE, if Wait
returned because the filedescriptor got available.
You can overload this method to wait for other events (f.e. other
filedescriptors like sockets, etc...), too.
- NOTE
-
This method must be seen as lowlevel stuff. Not all windowing systems
or OSs may use filedescriptors. It maybe that ported versions of
VisualOberon hand other parameters to this method.
PROCEDURE Handler*;
-
- DESCRIPTION
-
This is the main event loop of your application. Call this the get
things started. If you want to leave the event loop and fiish the
application, send a ExitMsg to the display.
PROCEDURE Exit*;
-
- DESCRIPTION
-
This sets the exit flag to true. The handler-method will be left after
this flag has been set.
PROCEDURE Receive*(message : VOObject.Message);
-
- DESCRIPTION
-
The message receive function of the Display. Currently only ExitMsg and
TimeOutMsgs, which get generated by Display when a contextHelp should
occure, are supported.
PROCEDURE Deinit*;
-
- DESCRIPTION
-
Deinitialize the display. Call this when your application finishes.
- CLASSNAME
-
DisplayPrefsDesc*
- BASECLASS
-
P.PrefsDesc
- POINTER
-
DisplayPrefs
- DESCIPTION
-
In this class all preferences stuff of the display is stored.
- METHODS
-
PROCEDURE Init*;
-
- DESCRIPTION
-
Initializes an instance.
- CLASSNAME
-
ExitMsgDesc*
- BASECLASS
-
O.MessageDesc
- POINTER
-
ExitMsg
- DESCIPTION
-
Send this message to Display if you want to leave the application.
- CLASSNAME
-
TimeOutMsgDesc*
- BASECLASS
-
O.MessageDesc
- POINTER
-
TimeOutMsg
- DESCIPTION
-
The message an objects gets, when the given timeout runs out.
- CLASSNAME
-
SleepMsgDesc*
- BASECLASS
-
O.MessageDesc
- POINTER
-
SleepMsg
- DESCIPTION
-
The message an objects gets, when a registered sleep event get called.
- CLASSNAME
-
ChannelMsgDesc*
- BASECLASS
-
O.MessageDesc
- POINTER
-
ChannelMsg
- DESCIPTION
-
The message an objects gets, when a registered fd event get called.
- CLASSNAME
-
Msg2ExitDesc*
- BASECLASS
-
O.HandlerDesc
- POINTER
-
Msg2Exit
- DESCIPTION
-
A converter that throuws the incomming message away and generates a
ExitMsg for Display.
- METHODS
-
PROCEDURE Convert*(message : VOObject.Message):VOObject.Message;
-
- DESCRIPTION
-
Converts any incomming message to a ExitMsg.
- CLASSNAME
-
DrawInfoDesc*
- BASECLASS
-
(no base)
- POINTER
-
DrawInfo
- DESCIPTION
-
The class for all abstract drawings.
- METHODS
-
PROCEDURE RecalcClipRegion;
-
- DESCRIPTION
-
Recalces the current clipping regions by analysing the
current clipping stack.
PROCEDURE Init(display : Display; window : X11.Drawable; vWindow : Window);
-
- DESCRIPTION
-
Initialize an instance of the DrawInfo class.
PROCEDURE Deinit;
-
- DESCRIPTION
-
Deinitializes the drawInfo
PROCEDURE Beep*;
-
- DESCRIPTION
-
Do a display beep.
PROCEDURE InstallClip*();
-
- DESCRIPTION
-
Start a new clipping. Calling this function does not start
any cliping (in fact it copies the cliping rectangles of the
current cliping) you must add cliping rectangles using
DrawInfo.AddRegion.
Clips are stacked and must be freed in order.
PROCEDURE ReinstallClip*;
-
- DESCRIPTION
-
(no description)
PROCEDURE AddRegion*(x,y,width,height : LONGINT);
-
- DESCRIPTION
-
Add a new cliping rectangle to the current clip.
PROCEDURE GetClipRegion*(VAR x,y,w,h : LONGINT);
-
- DESCRIPTION
-
Returns the outer box of the current clip region.
PROCEDURE FreeLastClip*;
-
- DESCRIPTION
-
Free the current clip and reset clipping the the last stacked clip.
PROCEDURE PushFont*(id : LONGINT; style : SET);
-
- DESCRIPTION
-
Push the given font on the stack and make it the current one.
PROCEDURE PopFont*;
-
- DESCRIPTION
-
Pops the last stacked font and reactivates the last stacked.
PROCEDURE DrawString*(x,y : LONGINT; text : ARRAY OF CHAR; length : LONGINT);
-
- DESCRIPTION
-
Draws the given string in the current font at the given position.
PROCEDURE DrawFillString*(x,y : LONGINT; text : ARRAY OF CHAR; length : LONGINT);
-
- DESCRIPTION
-
Draws the given string in the current font at the given position.
The background will be filled with the current background color.
PROCEDURE PushForeground*(color : Color);
-
- DESCRIPTION
-
Push the given color on the stack and make it the current foreground
color.
PROCEDURE PopForeground*;
-
- DESCRIPTION
-
Pop the last pushed foreground color from the stack and thus reinstalls
the previous color.
PROCEDURE PushDrawMode*(mode : LONGINT);
-
- DESCRIPTION
-
Push the given draw mode on the stack and make it the current draw mode.
PROCEDURE PopDrawMode*;
-
- DESCRIPTION
-
Pop the last pushed draw mode from the stack and thus reinstalls
the previous draw mode.
PROCEDURE PushBackground*(color : Color);
-
- DESCRIPTION
-
Push the given color on the stack and make it the current background
color.
PROCEDURE PopBackground*;
-
- DESCRIPTION
-
Pop the last pushed background color from the stack and thus reinstalls
the previous color.
PROCEDURE PushStyle*(size, mode : LONGINT);
-
- DESCRIPTION
-
Push the drawinfo mode and a pensize on the stack.
PROCEDURE PopStyle*;
-
- DESCRIPTION
-
Pop the last pushed style from the stack and thus reinstalls
the previous style.
PROCEDURE PushDash*(dashList : ARRAY OF CHAR; mode : LONGINT);
-
- DESCRIPTION
-
Pushes the a new style for drawing lines on the stack.
PROCEDURE PopDash*;
-
- DESCRIPTION
-
Pop the last pushed dash style from the stack and thus reinstalls
the previous dash style.
PROCEDURE PushPattern*(pattern : ARRAY OF CHAR; width, height : LONGINT; mode : LONGINT);
-
- DESCRIPTION
-
Push a new pattern for filling onto the stack.
PROCEDURE PopPattern*;
-
- DESCRIPTION
-
Pop the last pushed pattern from the stack and thus reinstalls
the previous pattern.
PROCEDURE PushUniqueFillPattern*(pos, maximum : LONGINT);
-
- DESCRIPTION
-
This methods tries to create a unique fill pattern on the stack. VisualOberon tries
to select the optimal fill pattern for the given color mode.VisualOberon cannot offer
an unlimited number of different fill patterns. After a not specified amount of patterns
(at three) VisualOberon will reuse the patterns. E.g. when VisualOberon offers three
patterns the fourth one will be equal to the first one. VisualOberon will also garantee
that the the last pattern will not be equal to the first pattern. Garanteeing this, you
need not take special care when filling f.e. a pie chart.
- PARAMETER
-
- pos is the running number of the pattern.
- maximum is the maximum number of patterns you want. Only when this value is
correctly set VisualOberon will garantee the above fact. If you don't want
VisualOberon to take special care just hand -1.
PROCEDURE PopUniqueFillPattern*(pos, maximum : LONGINT);
-
- DESCRIPTION
-
Pop the pushed pattern from the stack.
PROCEDURE DrawPoint*(x,y : LONGINT);
-
- DESCRIPTION
-
Draws a point at the given position.
PROCEDURE DrawLine*(x1,y1,x2,y2 : LONGINT);
-
- DESCRIPTION
-
Draws a line from x1,y1 to x2,y2.
PROCEDURE FillRectangle*(x,y,width,height : LONGINT);
-
- DESCRIPTION
-
Draws afilled rectangle with the uper left corner at x,y and with the
given width and height.
PROCEDURE DrawArc*(x,y,with,height,angle1,angle2 : LONGINT);
-
- DESCRIPTION
-
(no description)
PROCEDURE FillArc*(x,y,with,height,angle1,angle2 : LONGINT);
-
- DESCRIPTION
-
(no description)
PROCEDURE FillPolygon*(points : ARRAY OF PointDesc; count : LONGINT);
-
- DESCRIPTION
-
(no description)
PROCEDURE FillBackground*(x,y,width,height : LONGINT);
-
- DESCRIPTION
-
Fill the given rectangle with the background color defined in Display.
This is a high level function. You should use it whenever you want to clear
a area and give it the background color.
PROCEDURE CopyArea*(sX,sY,width,height,dX,dY : LONGINT);
-
- DESCRIPTION
-
Copies the given area to a new place.
PROCEDURE CopyFromBitmap*(bitmap : Bitmap; sX,sY,width,height,dX,dY : LONGINT);
-
- DESCRIPTION
-
(no description)
PROCEDURE CopyToBitmap*(sX,sY,width,height,dX,dY : LONGINT; bitmap : Bitmap);
-
- DESCRIPTION
-
(no description)
- MODULENAME
-
VODragDrop
- DESCRIPTION
-
This class iimplements the necessary classes for drag and drop data exchange.
- IMPORTS
-
- CLASSNAME
-
DnDDataInfoEntryDesc*
- BASECLASS
-
(no base)
- POINTER
-
(no pointer)
- DESCIPTION
-
Represents entry in the datatype table of DnDdataInfo.
- CLASSNAME
-
DnDDataInfoDesc*
- BASECLASS
-
(no base)
- POINTER
-
DnDDataInfo
- DESCIPTION
-
DnDDataInfo has to be used to define the datatypes and object
support for drag and drop. If the object has be the source of an
drag action and a valid drop zone can be found, the drag object
will be asked to fill a given instance of DnDDataInfo with a
description of the supported datatypes. This list will than handed
to the drop object, which can then analyse the best to fit datatype, which
in turn then can be requested from the drag object.
- METHODS
-
PROCEDURE Init*;
-
- DESCRIPTION
-
Initialisation. Must be called before first use.
PROCEDURE AddDataType*(group, type : LONGINT; actions : SET; defaultAction : LONGINT);
-
- DESCRIPTION
-
Add a new datatype to the list of supported datatypes.
A datatypes is described by a datatype group which defines a physical
representation (text, image ...) , a type that more closely describes the
pysical structure (image/gif) or or the logical structure (text/file).
PROCEDURE FindDataType*(VAR group,type,action : LONGINT):BOOLEAN;
-
- DESCRIPTION
-
Search in the list of supported datatypes for the occurence of this special
group and type. You can give joker as group or type name. In that case the
match will be skiped for that part. The actuall found group and type will
be returned if found.
- CLASSNAME
-
DnDDataDesc*
- BASECLASS
-
(no base)
- POINTER
-
DnDData
- DESCIPTION
-
Baseclass for all drag and drop data exchange.
- CLASSNAME
-
DnDStringDataDesc*
- BASECLASS
-
DnDDataDesc
- POINTER
-
DnDStringData
- DESCIPTION
-
A special datat exchnage class for simple strings.
- MODULENAME
-
VOEvent
- DESCRIPTION
-
This class defines a number of events - based on userinteraction -
a object (gadget, window) can get. These messages are OS-independant,
but offer a way to interpret the underlying OS-specific events, however
the interface to that part of the events is not portable.
- NOTE
-
* Not all GUIs can name the qualifiers extactly. F.e. X11 does not make a
destinction between shift_left and shift_right in the qualifier field
of an event. use the qualifier mask for that or handle key up and down for
qualifiers explicitely..
- IMPORTS
-
- FUNCTIONS
-
PROCEDURE GetEvent*(event : X11.XEvent):Event;
-
- DESCRIPTION
-
Convert the given X11 event to a VisualOberon event.
- CLASSNAME
-
EventDesc*
- BASECLASS
-
(no base)
- POINTER
-
Event
- DESCIPTION
-
Baseclass for events. Currently all objects get a instance
of this baseclass and then have to analyse the message by
evaluating the containing X11-event itself. This may change in the
future. Display will send generate and send instances of inherited
Classes thatd define abstract events.
- METHODS
-
PROCEDURE EvaluateQualifier(state : X11.uintmask):SET;
-
- DESCRIPTION
-
Convert the given X11 qualifier description to a VisualOberon
qualifier description.
- CLASSNAME
-
KeyEventDesc*
- BASECLASS
-
EventDesc
- POINTER
-
KeyEvent
- DESCIPTION
-
Keyboard event. The application receives this event when a key
has been pressed or raised.
- METHODS
-
PROCEDURE SetX11Event*(event : X11.XKeyEvent);
-
- DESCRIPTION
-
- NOTE
-
THis as a VODisplay-only access-method for initializing the MouseEvent.
Do not call this method in your code, it is VODisplay only and does only
exists on X11 implementations of VisualOberon.
PROCEDURE GetText*(VAR string : ARRAY OF CHAR):LONGINT;
-
- DESCRIPTION
-
Returns the ASCII-string corresponding to the keyboard event.
- RESULT
-
The number of characters in the string.
PROCEDURE GetKey*():LONGINT;
-
- DESCRIPTION
-
Returns the ASCII-string corresponding to the keyboard event.
- RESULT
-
The number of characters in the string.
PROCEDURE GetName*(keysym : LONGINT; VAR buffer : ARRAY OF CHAR);
-
- DESCRIPTION
-
Returns a string representing the name of key(s) pressed.
- CLASSNAME
-
MouseEventDesc*
- BASECLASS
-
EventDesc
- POINTER
-
MouseEvent
- DESCIPTION
-
Mouse event. The application recieves this event when one or
more mousebuttons have been pressed or released. You'll also
get events when the mouse moves.
- METHODS
-
PROCEDURE SetX11Event*(event : X11.XButtonEvent);
-
- DESCRIPTION
-
- NOTE
-
THis as a VODisplay-only access-method for initializing the MouseEvent.
Do not call this method in your code, it is VODisplay only and does only
exists on X11 implementations of VisualOberon.
- CLASSNAME
-
MotionEventDesc*
- BASECLASS
-
EventDesc
- POINTER
-
MotionEvent
- DESCIPTION
-
Mouse event. The application recieves this event when one or
more mousebuttons have been pressed or released. You'll also
get events when the mouse moves.
- METHODS
-
PROCEDURE SetX11Event*(event : X11.XMotionEvent);
-
- DESCRIPTION
-
- NOTE
-
THis as a VODisplay-only access-method for initializing the MouseEvent.
Do not call this method in your code, it is VODisplay only and does only
exists on X11 implementations of VisualOberon.
- MODULENAME
-
VOGUIObject
- DESCRIPTION
-
Baseclass for all displayable objects.
- TODO
-
* Implement Image.AddaptWidthToHeight and Image.AddaptHeightToWidth
* Implement Object.HandleKeyShortcut (similar to Object.GetPosObject)
* Multicolumn listview (should be rather easy).
* A DirectoryModel (inherits from ListModel) for directory browsing.
* A TextModel and corresponding gadget. Can load data from a file.
* A InfoModel and corresponding gadgets (inherits from TextModel?).
* A Presenter gadget, that displays pages of text, images and
a number of blend-over effects.
- IMPORTS
-
VODisplay
VOEvent
VOObject
VOPrefs
- FUNCTIONS
-
PROCEDURE MaxLong*(a,b : LONGINT):LONGINT;
-
- DESCRIPTION
-
Returns the maximum of the two numbers given.
PROCEDURE MinLong*(a,b : LONGINT):LONGINT;
-
- DESCRIPTION
-
Returns the minumum of the two numbers given.
PROCEDURE RoundRange*(x,a,b : LONGINT):LONGINT;
-
- DESCRIPTION
-
Modifies x so that i is in the range
between a and b including.
PROCEDURE GetAlignment*(name : ARRAY OF CHAR):LONGINT;
-
- DESCRIPTION
-
Returns the alignment value corresponding to the the given string value.
Returns -1, if the string contains no valid alignment name.
- CLASSNAME
-
BackgroundDesc*
- BASECLASS
-
(no base)
- POINTER
-
Background
- DESCIPTION
-
An object can have a background color or an background object that is responsible
for drawing the given region in the background style. Background object could draw
the background simply using the background color (though you can achive this b
y simply setting the background color without using an background object),
a regular pattern, a titled image, an image stretched to fit the whole object or
something even more complicated.
The apropiate method of filling the background will be handled the DrawBackground
method. It will fill the given area in the backgrojund area or will delegate
drawing to the background object - if available.
source stores the orign of this Background. E.g., yo assign a background object
to a button. The button will delegate the background to it label. However in some
cases the background must not be rendered relative to the size of the label but
still relative to the button.
- METHODS
-
PROCEDURE CalcSize*(display : VODisplay.Display);
-
- DESCRIPTION
-
Initilalize the object with the display.
PROCEDURE Draw*(object : Object; x,y,w,h : LONGINT);
-
- DESCRIPTION
-
Draw the background. The baseclass will simply fill the given area
with the defined object background color.
PROCEDURE Copy*():Background;
-
- DESCRIPTION
-
Return a copy of the current background object.
PROCEDURE Free*;
-
- DESCRIPTION
-
Free internal data.
- CLASSNAME
-
ObjectDesc*
- BASECLASS
-
D.ObjectDesc
- POINTER
-
Object
- DESCIPTION
-
The baseclass for all GUI objects. All GUI-objects do have messaging so the class derives
itself from VOObject.MsgObject
- METHODS
-
PROCEDURE Init*;
-
- DESCRIPTION
-
Every object needs an initialiser.
If you provide an Init-method for an object you must first cann the
Init-method of the baseclass.
Note, that this does not hinder you ro provide function-like initializer, too.
They just have to call this method.
PROCEDURE SetFlags*(flags : SET);
-
- DESCRIPTION
-
Via this functions you can add the given flags to the
flags already set.
PROCEDURE RemoveFlags*(flags : SET);
-
- DESCRIPTION
-
Via this functions you can remove the given flags from the
flags already set.
PROCEDURE ClearFlags*;
-
- DESCRIPTION
-
Via this functions you can clear all flags.
- NOTE
-
This is a dangerous operations. There are many internal flags used by
VO and it is likely that some things will not operate the way you
want them to. Use removeFlags instead whenever possible.
PROCEDURE SetWidth*(mode, value : LONGINT);
-
- DESCRIPTION
-
Set the width of the object.
"Mode" defines the interpretation of the given value.
PROCEDURE SetHeight*(mode, value : LONGINT);
-
- DESCRIPTION
-
Set the height of the object.
"Mode" defines the interpretation of the given value.
PROCEDURE SetMinWidth*(mode, value : LONGINT);
-
- DESCRIPTION
-
Set the minWidth of the object.
"Mode" defines the interpretation of the given value.
PROCEDURE SetMinHeight*(mode, value : LONGINT);
-
- DESCRIPTION
-
Set the minHeight of the object.
"Mode" defines the interpretation of the given value.
PROCEDURE SetBackground*(backgroundColor : LONGINT);
-
- DESCRIPTION
-
Set the background color for the object. Behaviour for complex/group
objects is undefined.
PROCEDURE SetBackgroundObject*(background : Background);
-
- DESCRIPTION
-
Set the background object for the object. Behaviour for complex/group
objects is undefined.
PROCEDURE CopyBackground*(destination : Object);
-
- DESCRIPTION
-
(no description)
PROCEDURE SetLabelObject*(label : Object);
-
- DESCRIPTION
-
Assign a label to the object. Some object may support some
tricky operations with their label. A checkbox f.e. may delegate its
focus frame to its label.
PROCEDURE SetHelpObject*(helpObject : VODisplay.Window);
-
- DESCRIPTION
-
Assign an window that will displayed as tooltip. The baseclass will store
the object within a private variable and will return it when GetHelpObject gets
called.
- NOTE
-
Special objects may overload this method this implement different behaviour.
They must then also overload GetPosObject.
PROCEDURE GetHelpObject*():VODisplay.Window;
-
- DESCRIPTION
-
Returns the help window for this object.
- NOTE
-
Special objects may overload this method to f.e. implement dynamic tooltips.
They must then also overload GetPosObject.
PROCEDURE SetMenuObject*(menuObject : VODisplay.Window);
-
- DESCRIPTION
-
Assign a window that will displayed as menu. The baseclass will store
the object within a private variable and will return it when GetMenuObject gets
called.
- NOTE
-
Special objects may overload this method this implement different behaviour.
They must then also overload GetPosObject.
PROCEDURE GetMenuObject*():VODisplay.Window;
-
- DESCRIPTION
-
Returns the menu window for this object.
- NOTE
-
Special objects may overload this method to f.e. implement dynamic menues.
They must then also overload GetPosObject.
PROCEDURE StdFocus*():BOOLEAN;
-
- DESCRIPTION
-
Returns TRUE, when the object displays itself using the standard functionality
of displaying focus frameing, e.g. stdFocus
is in Object.flags.
PROCEDURE HasFocus*():BOOLEAN;
-
- DESCRIPTION
-
Returns TRUE, when the object has the focus, e.g. hasFocus
is in Object.flags.
PROCEDURE CanFocus*():BOOLEAN;
-
- DESCRIPTION
-
Returns TRUE, when the object can handle keyboard focus events,a e.g. canFocus
is in Object.flags.
PROCEDURE MayFocus*():BOOLEAN;
-
- DESCRIPTION
-
Returns TRUE, when the object may show its focusframe,a e.g. mayFocus
is in Object.flags.
PROCEDURE ShowFocus*():BOOLEAN;
-
- DESCRIPTION
-
Returns TRUE, when the object should show its focusframe,a e.g. showFocus
is in Object.flags.
PROCEDURE DisplayFocus*():BOOLEAN;
-
- DESCRIPTION
-
Returns TRUE, when the object should display its focusframe,a e.g. showFocus
or hasFocus is in Object.flags.
PROCEDURE GetSize*(value, type, min, max, default : LONGINT; horiz : BOOLEAN; display : VODisplay.Display):LONGINT;
-
- DESCRIPTION
-
This methods returns a size calculated from the given value and type in respect with
the given min and maximum ranges. If type=sizeGiven or unknown, the dfault value is returned.
PROCEDURE CalcSize*(display : VODisplay.Display);
-
- DESCRIPTION
-
Tell the object it should calculate its size depending on its current settings
This method normally gets calleed once before the first call of ObjectDraw.
The window calls this method for its top object before it opens itself
and draws its content. The top object call this method automatically for all
its children.
If this method get called for you object you normally have to simly
propagate it to all your children and set the values for minWidth,
minHeight, width and height. The setting of the max-values is optional,
the defaultvalue for them is MAX(LONGINT).
After this your *must* call this method of your baseclass.
PROCEDURE CanGrow*(horiz : BOOLEAN):BOOLEAN;
-
- DESCRIPTION
-
Returns true, if the object can grow in the stated direction
An object is resizable, if
* It hase the xxxFlex-flag set for that direction
* And if its current size is smaller than it maximal size
PROCEDURE CanShrink*(horiz : BOOLEAN):BOOLEAN;
-
- DESCRIPTION
-
Same as Object.CanGrow only for shrinking
PROCEDURE CanResize*(grow, horiz : BOOLEAN):BOOLEAN;
-
- DESCRIPTION
-
This calls Object.CanGrow or Object.Can.Shrink depending on its options
PROCEDURE CanDrag*():BOOLEAN;
-
- DESCRIPTION
-
Returns TRUE if you can drag data from the object.
PROCEDURE Resize*(width,height : LONGINT);
-
- DESCRIPTION
-
This function tries to resize the object to the given measurement
Note, that the object may not have the giving size after calling since
it have the follow the settings for o.flags and it maximal size
Normally the features of this implementation are enought.
But you can overload it (At the moment none of the classes does this).
PROCEDURE Draw*(x,y : LONGINT; draw : VODisplay.DrawInfo);
-
- DESCRIPTION
-
Tells the object to draw itself at the given position and with the mode
set in draw.mode.
You can igonore modes you do not support and simply assume mode=normal.
You *must* call the Draw-method of your superclass first!
PROCEDURE Redraw*;
-
- DESCRIPTION
-
Tells the object to redraw itself
You normally do not need to overload this method.
PROCEDURE Intersect*(x,y,w,h : LONGINT):BOOLEAN;
-
- DESCRIPTION
-
Returns TRUE if the two areas intersect, else FALSE.
PROCEDURE RestrictToBounds*(VAR x,y,w,h : LONGINT);
-
- DESCRIPTION
-
(no description)
PROCEDURE Refresh*(x,y,w,h : LONGINT);
-
- DESCRIPTION
-
This method gets called by the display (or by the super object, which
in turn got called by the display), when it has to get refreshed
because of exposure. The exposed region is given as parameter and
the object should try to refresh only that parts within the given
area.
The baseclass simply calls Object.Redraw when Object.IsIn return TRUE
and the object is visible.
PROCEDURE DrawDisabled*;
-
- DESCRIPTION
-
This is just a convinience function. Call this if your are a gadget and want to
show yourself disabled. It draws a pattern over the bound of the gadget.
Not that this is just a proposal. You can of cause use other methods to show yourself
disabled, but keep some style guide in mind.
PROCEDURE DrawBackground*(x,y,w,h : LONGINT);
-
- DESCRIPTION
-
This is just a convinience function. Draws the given rectangle in the
background color of the object.
PROCEDURE DrawHide*;
-
- DESCRIPTION
-
This is just a convinience function. Call this if your are an object and want to
hide yourself. It just draw a rectangle in the backgroundcolor of the bounds of the
gadget.
Not that this is just a proposal. You can of cause use other methods to hide yourself.
PROCEDURE Disable*(disable : BOOLEAN);
-
- DESCRIPTION
-
Disable the object.
The object should show it's disabled state via it's
visual apperance.
PROCEDURE Hide*;
-
- DESCRIPTION
-
Tell the object to hide itself.
The space of the object should have the backgroundcolor after hiding.
The method of the baseclass simply sets Object.visible to FALSE. If you
implement your own object, you must overload this methods and hide your
object (you may use Object.DrawHide for this). After that call
Object.Hide of your baseclass. Since Object.Hide may have other purposes
in the future, too.
- NOTE
-
If you use other objects for your drawing you have to overload this
method and call Hide for each of them to get Object.visible correct.
PROCEDURE DrawFocus*;
-
- DESCRIPTION
-
This method gets called when the window thinks, that the
object should show somekind of keyboardfocus. This will
happen, when the object gets the focus, or when the
focus has to be refreshed because of a window refresh.
- NOTE
-
You can use the supplied focusFrame but you need not to do.
The baseclass does nothing.
PROCEDURE HideFocus*;
-
- DESCRIPTION
-
This method gets called when the window thinks, that the
object should hide the keyboardfocus. This happens when
the pbject loses the focus.
PROCEDURE LeaveFocus*;
-
- DESCRIPTION
-
Ask the window to change the focus to the next entry.
This is usefull f.e. for stringgadgets. If you enter return, the
gadget should get deactivated and the focus should change to the
next element.
- NOTE
-
The object must have the focus, otherwise nothing will happen.
PROCEDURE PointIsIn*(x,y : LONGINT):BOOLEAN;
-
- DESCRIPTION
-
Ask the object, if the given point it in its bounds.
We also check if the pointer is within the bounds of the
label of the object, if the object has one.
PROCEDURE MouseIsIn*():BOOLEAN;
-
- DESCRIPTION
-
Tells if the mouse pointer is currently ober the object.
We also check if the mouse pointer is within the bounds of the
label of the object, if the object has one.
PROCEDURE GetFocus*(event : VOEvent.Event):Object;
-
- DESCRIPTION
-
Ask the object, if it wants the focus after inverstigating the given event
GetFocus returns the object, that whants to have the focus or NIL.
PROCEDURE HandleEvent*(event : VOEvent.Event):BOOLEAN;
-
- DESCRIPTION
-
After getting the focus with GetFocus you will get all
events via this function.
return TRUE if you are finished with eventhandling.
PROCEDURE GetPosObject*(x,y : LONGINT; type : LONGINT):Object;
-
- DESCRIPTION
-
Get a pointer to the object, which is in the given bounds and has
an menu or help-object attached. If there is no object, return NIL.
Return also true, if the object is currently not visible.
PROCEDURE GetDnDObject*(x,y : LONGINT; drag : BOOLEAN):Object;
-
- DESCRIPTION
-
Returns the object that coveres the given point and that supports
drag and drop of data.
If drag is TRUE, when want to find a object that we can drag data from,
else we want an object to drop data on.
PROCEDURE Free*;
-
- DESCRIPTION
-
Before freeing the object call this function.
This method is not supported by the current objects.
- CLASSNAME
-
ImageDesc*
- BASECLASS
-
ObjectDesc
- POINTER
-
Image
- DESCIPTION
-
The baseclass for all images. Images do not have any event-handling.
- CLASSNAME
-
GadgetDesc*
- BASECLASS
-
ObjectDesc
- POINTER
-
Gadget
- DESCIPTION
-
The baseclass for all gadgets. Gadgets have methods for event handling, unlike images for example.
- METHODS
-
PROCEDURE CatchedFocus*;
-
- DESCRIPTION
-
Called, when you got the keyboard focus.
PROCEDURE LostFocus*;
-
- DESCRIPTION
-
Call, when the keyboard focus has been taken away from you.
PROCEDURE HandleFocusEvent*(event : VOEvent.KeyEvent):BOOLEAN;
-
- DESCRIPTION
-
This gets called, when you have the current keyboard focus and
the users presses keys. You can expect to get only keyboard events.
- RESULT
-
Return TRUE if you have handled the event, else FALSE.
- NOTE
-
If you activtly have grabed the focus using Object.GetFocus and
Object.handleEvent you will get the keyboardevents there. This
function gets only called when you don't grabed the focus.
PROCEDURE HandleShortcutEvent*(id,state : LONGINT);
-
- DESCRIPTION
-
Via this method you get informed about shortcut events you've
registered via the keyboard handler of the window.
- PARAMETER
-
id - the id you've registered your shortcut with.
state - the state of the shortcut event. This may either be
pressed, released or canceled.
- CLASSNAME
-
GroupDesc*
- BASECLASS
-
GadgetDesc
- POINTER
-
Group
- DESCIPTION
-
An group is a special kind of Object. Since it is a collection of
objects, it may have to behave like an gadget, so we inherit from
Gadget.
It collects a number of object and presents them as one object to
the rest of the world.
- METHODS
-
PROCEDURE Init*;
-
- DESCRIPTION
-
A group object is derived from Object. Its purpure is, to collect a number
of object and represent them to the ouer space as one object.
It has some more methods and attributs.
PROCEDURE Disable*(disabled : BOOLEAN);
-
- DESCRIPTION
-
Disables all elements of the group object.
Note, that inherited group objects may interpret beeing disabled
different. VOTab f.e. disables itself.
PROCEDURE Add*(object : Object);
-
- DESCRIPTION
-
Add a new Object to the group
Removing objects is currently not supported
Note that some group-objects have a more special functions for adding
members. However Add should always be supported
PROCEDURE GetFocus*(event : VOEvent.Event):Object;
-
- DESCRIPTION
-
The defaulthandler ask all members of the Group for the focus
PROCEDURE GetPosObject*(x,y : LONGINT; type : LONGINT):Object;
-
- DESCRIPTION
-
The defaulthandler ask all members of the Group
You have to overload this method if you do not use
Group.Add and Group.list.
PROCEDURE GetDnDObject*(x,y : LONGINT; drag : BOOLEAN):Object;
-
- DESCRIPTION
-
Returns the object that coveres the given point and that supports
drag and drop of data.
If drag is TRUE, when want to find a object that we can drag data from,
else we want an object to drop data on.
PROCEDURE Refresh*(x,y,w,h : LONGINT);
-
- DESCRIPTION
-
Refreshes the group object by refreshing all objects in the object list.
The refresh retangle is preserved and will be handled to all subobjects.
- CLASSNAME
-
PrefsDesc*
- BASECLASS
-
P.PrefsDesc
- POINTER
-
Prefs
- DESCIPTION
-
Special Preferences object for graphical objects.
- METHODS
-
PROCEDURE Init*;
-
- DESCRIPTION
-
(no description)
PROCEDURE Free*;
-
- DESCRIPTION
-
(no description)
- CLASSNAME
-
LabelClickedMsgDesc*
- BASECLASS
-
O.MessageDesc
- POINTER
-
LabelClickedMsg
- DESCIPTION
-
The LabelClickedMsg maybe generated when someone clicks on your label.
- MODULENAME
-
VOObject
- DESCRIPTION
-
Baseclass for all objects. Does also define the derived class
MsgObject
which implements message communication between
objects. Model
, the baseclass for all models, is also
implemented here.
- IMPORTS
-
- FUNCTIONS
-
PROCEDURE FindRef*(id: LONGINT) : Object;
-
- DESCRIPTION
-
This routine extracts previously-defined objects.
PROCEDURE Create*(r: BinaryRider.Reader) : Object;
-
- DESCRIPTION
-
This generic object creation routine will read type object type
information from the stream, create the object, and initialize
it's fields from the stream -- using the associated Load method.
If the object already exists in memory, a pointer to that object
will be returned with no initialization necessary.
- CLASSNAME
-
ObjectDesc*
- BASECLASS
-
(no base)
- POINTER
-
Object
- DESCIPTION
-
The abstract baseclass for all objects in VO
- METHODS
-
PROCEDURE Init*;
-
- DESCRIPTION
-
Each object has an initialisation routine.
If an object initializes itself, it must call the init-method of the baseclass.
Note, that this method does not prevent a class to implement initialize-functions,
but they must then call this method.
PROCEDURE Load*(r: BinaryRider.Reader);
-
- DESCRIPTION
-
Each object has a load routine.
The persistent data is read from the passed reader. If a derived class overrides
this method, it must call the super-method before restoring its internal state.
PROCEDURE Store*(w: BinaryRider.Writer) : BOOLEAN;
-
- DESCRIPTION
-
Each object has a store routine.
The persistent data is written to the passed writer. If a derived class overrides
this method, it must call the super-method before storing its internal state.
PROCEDURE Free*;
-
- DESCRIPTION
-
All object have some kind of finalizer method. Such a method is needed
for OS-specific ressources like filehandles or GUI stuff that does not get
freed automatically by garbage collection.
Later versions of oo2c/VisualOberon may have an direct interface to
the GC to realize finalisation, since then me must use a not that nice
method: objects can register themself a a window. The window will call
Free for all registered objects on deletion.
- CLASSNAME
-
MsgObjectDesc*
- BASECLASS
-
ObjectDesc
- POINTER
-
MsgObject
- DESCIPTION
-
This is a second abstract class derived from Object.
MsgObject can send and recieve messages.
- METHODS
-
PROCEDURE Init*;
-
- DESCRIPTION
-
MsgObject inherits the Init-function from Object.
PROCEDURE SetId*(id : LONGINT);
-
- DESCRIPTION
-
We must have the ability to set the id of an object
PROCEDURE Receive*(message : Message);
-
- DESCRIPTION
-
This method of an object gets called when someone sends a method
to it.
PROCEDURE AddHandler*(handler : Handler; type : LONGINT);
-
- DESCRIPTION
-
You can add a handler to an object.
The handler gets then called after the sender sends the object
and before the receiver recieves it.
type defines the type of message the handler wants to get called for.
The objects have to suply constants for that.
PROCEDURE RemoveHandler*(handler : Handler);
-
- DESCRIPTION
-
You also can remove a handler anytime.
PROCEDURE Forward*(type : LONGINT; destination : MsgObject);
-
- DESCRIPTION
-
You can also tell the object to send msgs of a specific type
simply to another object.
This is done by simply adding a default handler.
PROCEDURE Load*(r: BinaryRider.Reader);
-
- DESCRIPTION
-
Load the MsgObject object state information.
PROCEDURE Store*(w: BinaryRider.Writer) : BOOLEAN;
-
- DESCRIPTION
-
Store the MsgObject object state information.
PROCEDURE Send*(message : Message; type : LONGINT);
-
- DESCRIPTION
-
Call this method if you want to send a message with a given type.
PROCEDURE Resync*(model : Model; msg : ResyncMsg);
-
- DESCRIPTION
-
This method gets called when a model wants you to resync yourself with
its contents.
PROCEDURE UnattachModel*(model : Model);
-
- DESCRIPTION
-
Deattach an object from the given model.
PROCEDURE AttachModel*(model : Model);
-
- DESCRIPTION
-
Use this function to attach an object to a model.
Normaly you should not call this method directly, the
object should offer special methods for this.
- CLASSNAME
-
HandlerDesc*
- BASECLASS
-
(no base)
- POINTER
-
Handler
- DESCIPTION
-
All message sending between objects goes through handlers.
Using a handler between the sender and reciever of an message allows
us to change the messagetyp on the fly.
This is a simple way to get objects freely communicate with each other
without knowing the messages the reciever knows.
You simply insert a handler between sender reciever that converts the
sender message to the reciever messsage.
- METHODS
-
PROCEDURE Convert*(message : Message):Message;
-
- DESCRIPTION
-
This function of the handler gets called after the sender sends the object
and before the receiver recieves it. This gives you the possibility to
change the type of the message. Just create the new message and return it.
You don't have copy the destination field, that will be done by Handler.Send
automatically.
PROCEDURE Send*(message : Message);
-
- DESCRIPTION
-
This method gets called by an object for each handler which is interested
in the message.
- CLASSNAME
-
MessageDesc*
- BASECLASS
-
(no base)
- POINTER
-
Message
- DESCIPTION
-
The (abstract) baseclass for all messages.
- CLASSNAME
-
ActionDesc*
- BASECLASS
-
MessageDesc
- POINTER
-
Action
- DESCIPTION
-
A special message for prameterless actions (like for example a event that
gets triggered when a button is pressed). You store the type of the
action in the action memebr variable. Using action instead of a self-derived
class while reduce code bloat and class count.
- CLASSNAME
-
ResyncMsgDesc*
- BASECLASS
-
(no base)
- POINTER
-
ResyncMsg
- DESCIPTION
-
This message is the abstract baseclass for all resync-messages.
a model can send to its viewers when the contents of the
model have changed.
- CLASSNAME
-
NotifyDesc*
- BASECLASS
-
ResyncMsgDesc
- POINTER
-
Notify
- DESCIPTION
-
(no description)
- CLASSNAME
-
ModelDesc*
- BASECLASS
-
MsgObjectDesc
- POINTER
-
Model
- DESCIPTION
-
The abstract baseclass for all models. A model is a container
for an in any way designed datacollection.
A Object (viewer) does not hold its values itself but has a pointer to
a model. The user changes the value of the model and not the value
of the object. The model then sends an ResyncMsg to all its viewers
to make them update the representation of the datas the model holds.
- METHODS
-
PROCEDURE Init*;
-
- DESCRIPTION
-
A model must be inited.
PROCEDURE AddObject*(object : MsgObject);
-
- DESCRIPTION
-
Add an object (viewer) to a model
PROCEDURE Load*(r: BinaryRider.Reader);
-
- DESCRIPTION
-
Load the model state information.
PROCEDURE Store*(w: BinaryRider.Writer) : BOOLEAN;
-
- DESCRIPTION
-
Store the model state information.
PROCEDURE RemoveObject*(object : MsgObject);
-
- DESCRIPTION
-
Remove an object from an model (not yet implemented)
PROCEDURE Notify*(msg : ResyncMsg);
-
- DESCRIPTION
-
A model should call this method with an optional resynmessage
when you want your viewers to resync themselfs.
- MODULENAME
-
VOPrefs
- DESCRIPTION
-
Baseclass for all preferences stuff. While I have a implemention
in mind, nothing is implemented yet.
- TODO
-
Implement searching in subdirectories using the applicationname.
- FUNCTIONS
-
PROCEDURE Free*;
-
- DESCRIPTION
-
Free all registered preferences.
- CLASSNAME
-
PrefsDesc*
- BASECLASS
-
(no base)
- POINTER
-
Prefs
- DESCIPTION
-
Base class for all preferences classes.
- METHODS
-
PROCEDURE Init*;
-
- DESCRIPTION
-
Initialize the preferences struct. The baseclass adds the instance
to the global list of instances.
PROCEDURE Free*;
-
- DESCRIPTION
-
(no description)
- MODULENAME
-
VOUtil
- DESCRIPTION
-
A number of utility functions.
- IMPORTS
-
- FUNCTIONS
-
PROCEDURE EscapeString*(string : ARRAY OF CHAR):Text;
-
- DESCRIPTION
-
Returns a newly allocated array pointing to the given string, where
all escape sequences has been converted. Currently supported are:
\n
, \e
and \t
.
PROCEDURE UpDiv*(a,b : LONGINT):LONGINT;
-
- DESCRIPTION
-
PROCEDURE RoundDiv*(a,b :LONGINT):LONGINT;
-
- DESCRIPTION
-
Rounds to the nearest integer number.
PROCEDURE RoundUpEven*(a : LONGINT):LONGINT;
-
- DESCRIPTION
-
Rounds the number so that is is even. Currently only works correctly for
numbers greater zero.
- MODULENAME
-
VOKeyHandler
- DESCRIPTION
-
Implements a handler for keyboards focus chains.
- IMPORTS
-
VOFrame
VOEvent
VOGUIObject
- CLASSNAME
-
ShortcutEntryDesc*
- BASECLASS
-
(no base)
- POINTER
-
ShortcutEntry
- DESCIPTION
-
Store one shortcut entry.
- METHODS
-
PROCEDURE Match(qualifier : SET; keysym : LONGINT; char : CHAR):BOOLEAN;
-
- DESCRIPTION
-
Checks if the given shortcut entry matches the given key.
- CLASSNAME
-
KeyHandlerDesc*
- BASECLASS
-
(no base)
- POINTER
-
KeyHandler
- DESCIPTION
-
Every window has a KeyHandler. The KeyHandler does handle
keyevents. It is responsible for switching the keyboardfocus
and the handling of hotkeys. The use of a Keyhandler it optional
for a window. The KeyHandler accepts only Gadgets as objects.
- METHODS
-
PROCEDURE SetObject(chain : KeyChain; entry : KeyChainEntry);
-
- DESCRIPTION
-
hands the focus to the given entry.
PROCEDURE GetChainEntry(gadget : VOGUIObject.Gadget):KeyChainEntry;
-
- DESCRIPTION
-
Searches for the given gadget in the KeyChains and returns the
corresponding KeyChainEntry, if it exists.
- NOTE
-
If we support more than one KeyChain, we must modify the
parameterlist to return the found KeyChain, too.
PROCEDURE GetSCEntry(qualifier : SET; keysym : LONGINT; char : CHAR):ShortcutEntry;
-
- DESCRIPTION
-
Returns the shortcut matching or NIL.
PROCEDURE CancelCurrent;
-
- DESCRIPTION
-
PROCEDURE Init*;
-
- DESCRIPTION
-
Initializes the KeyHander. Must be called first after allocation.
PROCEDURE AddShortcutObject*(gadget : VOGUIObject.Gadget; qualifier : SET; char : CHAR; id,mode : LONGINT);
-
- DESCRIPTION
-
Adds a shortcut with the given qualifier and character for an object.
Additional a specialmode can be given for the shortcut whith states
additional situations the shortcut get evaluated. An object must
be visible to get notified, so shortcuts can be shared as long as
only one object at the time is visible.
PROCEDURE AddFocusObject*(gadget : VOGUIObject.Gadget);
-
- DESCRIPTION
-
Adds a new gadget to the current KeyChain.
PROCEDURE NextObject*();
-
- DESCRIPTION
-
The user has pressed tab and wants the KeyHandler to deactivate the
current and to activate the next valid object.
PROCEDURE LastObject*();
-
- DESCRIPTION
-
The user has pressed shift tab and wants the KeyHandler to deactivate the
current and to activate the last valid object.
PROCEDURE NextChain*();
-
- DESCRIPTION
-
The user has pressed alt tab and wants the KeyHandler to deactivate the
current and to activate the next (valid) KeyChain.
- NOTE
-
Not suported yet.
PROCEDURE LastChain*();
-
- DESCRIPTION
-
The user has pressed shift alt tab and wants the KeyHandler to deactivate the
current and to activate the last (valid) KeyChain.
- NOTE
-
Not suported yet.
PROCEDURE SetCurrentObject*(gadget : VOGUIObject.Gadget);
-
- DESCRIPTION
-
Called by the window, when a new object gets the focus. The Keyhandler
should look for this object in any of the keychains and make it the
object witht he current keyboardfocus, if it is in.
PROCEDURE FindNewObject*();
-
- DESCRIPTION
-
The window got called by the object with the current keyboard focus
that it hides itself. KeyHandler has now to find out a new object
with keyboard focus.
PROCEDURE Refocus*;
-
- DESCRIPTION
-
If there is no current focus object, get a new one, else
do nothing.
PROCEDURE Activate*();
-
- DESCRIPTION
-
Gets called when the window get activated.
PROCEDURE Deactivate*();
-
- DESCRIPTION
-
Gets called when the window has been deactivated.
PROCEDURE HandleEvent*(event : VOEvent.KeyEvent; preObject : BOOLEAN):BOOLEAN;
-
- DESCRIPTION
-
This method gets called by the window, if the window
has no current gadget which has the focus. The window
does only call this method for keyboard events.
- MODULENAME
-
VOPrefsParser
- DESCRIPTION
-
(no description)
- IMPORTS
-
VOPrefsScanner
VOUtil
IntStr
Strings
TextRider
- FUNCTIONS
-
PROCEDURE FindSlash():INTEGER;
-
- DESCRIPTION
-
(no description)
PROCEDURE Error(n: INTEGER);
-
- DESCRIPTION
-
(no description)
PROCEDURE Get();
-
- DESCRIPTION
-
(no description)
PROCEDURE Expect(n: INTEGER);
-
- DESCRIPTION
-
(no description)
PROCEDURE StartOf(s: INTEGER): BOOLEAN;
-
- DESCRIPTION
-
(no description)
PROCEDURE ExpectWeak(n, follow: INTEGER);
-
- DESCRIPTION
-
(no description)
PROCEDURE WeakSeparator(n, syFol, repFol: INTEGER): BOOLEAN;
-
- DESCRIPTION
-
(no description)
PROCEDURE Number(VAR value : ValueItem);
-
- DESCRIPTION
-
(no description)
PROCEDURE String(VAR value : ValueItem);
-
- DESCRIPTION
-
(no description)
PROCEDURE Parameter(VAR item : Item);
-
- DESCRIPTION
-
(no description)
PROCEDURE Entry(block : BlockItem);
-
- DESCRIPTION
-
(no description)
PROCEDURE Ident(VAR text : VOUtil.Text);
-
- DESCRIPTION
-
(no description)
PROCEDURE Block(VAR block : BlockItem);
-
- DESCRIPTION
-
(no description)
PROCEDURE VOPrefs;
-
- DESCRIPTION
-
(no description)
PROCEDURE Number(VAR value : ValueItem);
-
- DESCRIPTION
-
(no description)
PROCEDURE String(VAR value : ValueItem);
-
- DESCRIPTION
-
(no description)
PROCEDURE Parameter(VAR item : Item);
-
- DESCRIPTION
-
(no description)
PROCEDURE Entry(block : BlockItem);
-
- DESCRIPTION
-
(no description)
PROCEDURE Ident(VAR text : VOUtil.Text);
-
- DESCRIPTION
-
(no description)
PROCEDURE Block(VAR block : BlockItem);
-
- DESCRIPTION
-
(no description)
PROCEDURE VOPrefs;
-
- DESCRIPTION
-
(no description)
PROCEDURE Initialize*(item : Item);
-
- DESCRIPTION
-
(no description)
PROCEDURE Parse*;
-
- DESCRIPTION
-
(no description)
- CLASSNAME
-
ItemDesc*
- BASECLASS
-
(no base)
- POINTER
-
Item
- DESCIPTION
-
(no description)
- METHODS
-
PROCEDURE Init*;
-
- DESCRIPTION
-
(no description)
PROCEDURE AddItem*(item : Item);
-
- DESCRIPTION
-
(no description)
PROCEDURE GetEntry*(path : ARRAY OF CHAR):Item;
-
- DESCRIPTION
-
(no description)
PROCEDURE GetStringEntry*(name : ARRAY OF CHAR; VAR text : ARRAY OF CHAR):BOOLEAN;
-
- DESCRIPTION
-
(no description)
PROCEDURE GetIntEntry*(name : ARRAY OF CHAR; default : LONGINT):LONGINT;
-
- DESCRIPTION
-
(no description)
PROCEDURE GetBoolEntry*(name : ARRAY OF CHAR; default : BOOLEAN):BOOLEAN;
-
- DESCRIPTION
-
(no description)
PROCEDURE Print*(writer : TextRider.Writer; indent : LONGINT);
-
- DESCRIPTION
-
(no description)
- CLASSNAME
-
BlockItemDesc*
- BASECLASS
-
ItemDesc
- POINTER
-
BlockItem
- DESCIPTION
-
(no description)
- METHODS
-
PROCEDURE SetName*(name : ARRAY OF CHAR);
-
- DESCRIPTION
-
(no description)
PROCEDURE Print*(writer : TextRider.Writer; indent : LONGINT);
-
- DESCRIPTION
-
(no description)
- CLASSNAME
-
ValueItemDesc*
- BASECLASS
-
ItemDesc
- POINTER
-
ValueItem
- DESCIPTION
-
(no description)
- METHODS
-
PROCEDURE SetValue*(name,value : ARRAY OF CHAR);
-
- DESCRIPTION
-
(no description)
PROCEDURE SetBool*(name : ARRAY OF CHAR; value : BOOLEAN);
-
- DESCRIPTION
-
(no description)
PROCEDURE SetInt*(name : ARRAY OF CHAR; value : LONGINT);
-
- DESCRIPTION
-
(no description)
PROCEDURE Print*(writer : TextRider.Writer; indent : LONGINT);
-
- DESCRIPTION
-
(no description)
- MODULENAME
-
VOPrefsScanner
- DESCRIPTION
-
(no description)
- IMPORTS
-
- FUNCTIONS
-
PROCEDURE NextCh();
-
- DESCRIPTION
-
(no description)
PROCEDURE Comment(): BOOLEAN;
-
- DESCRIPTION
-
(no description)
PROCEDURE CheckLiteral();
-
- DESCRIPTION
-
(no description)
PROCEDURE Get*(VAR sym: INTEGER);
-
- DESCRIPTION
-
(no description)
PROCEDURE GetName*(pos: LONGINT; len: INTEGER; VAR s: ARRAY OF CHAR);
-
- DESCRIPTION
-
(no description)
PROCEDURE StdErrorProc*(n: INTEGER; pos: LONGINT);
-
- DESCRIPTION
-
(no description)
PROCEDURE Initialize*(t : VOUtil.Text; errProc: ErrorProc);
-
- DESCRIPTION
-
(no description)
- MODULENAME
-
VOColSelDlg
- DESCRIPTION
-
A dialog to select one of the internal colors.
- IMPORTS
-
VOArray
VOButton
VOColorArea
VODisplay
VOGUIObject
VOKeyHandler
VOLabel
VOObject
VOPanel
VOQuickHelp
VOSpace
VOText
VOWindow
- CLASSNAME
-
ColSelDlgDesc*
- BASECLASS
-
W.WindowDesc
- POINTER
-
ColSelDlg
- DESCIPTION
-
(no description)
- METHODS
-
PROCEDURE Init*;
-
- DESCRIPTION
-
(no description)
PROCEDURE PreInit*;
-
- DESCRIPTION
-
(no description)
PROCEDURE Receive*(message : VOObject.Message);
-
- DESCRIPTION
-
(no description)
PROCEDURE SetColor*(color : LONGINT);
-
- DESCRIPTION
-
(no description)
- CLASSNAME
-
SetMsgDesc*
- BASECLASS
-
O.MessageDesc
- POINTER
-
SetMsg
- DESCIPTION
-
(no description)
- MODULENAME
-
VOFrmSelDlg
- DESCRIPTION
-
A dialog to select a internal frame.
- IMPORTS
-
VOArray
VOButton
VOButtonRow
VOFrame
VOGUIObject
VOKeyHandler
VOLabel
VOObject
VOPanel
VOPlate
VOQuickHelp
VOSpace
VOText
VOWindow
VOWindowGroup
- CLASSNAME
-
FrmSelDlgDesc*
- BASECLASS
-
W.WindowDesc
- POINTER
-
FrmSelDlg
- DESCIPTION
-
A custom dialog that lets you select one of all internally supported
frames.
- METHODS
-
PROCEDURE Init*;
-
- DESCRIPTION
-
Initializes an instance.
PROCEDURE PreInit*;
-
- DESCRIPTION
-
Fills the window with all necessary objects.
PROCEDURE Receive*(message : VOObject.Message);
-
- DESCRIPTION
-
(no description)
PROCEDURE SetFrame*(frame : LONGINT);
-
- DESCRIPTION
-
Sets the given frame as the select one.
- CLASSNAME
-
SetMsgDesc*
- BASECLASS
-
O.MessageDesc
- POINTER
-
SetMsg
- DESCIPTION
-
(no description)
- MODULENAME
-
VOImgSelDlg
- DESCRIPTION
-
A dialog to select one of the internal images.
- IMPORTS
-
VOArray
VOButton
VOButtonRow
VOGUIObject
VOKeyHandler
VOLabel
VOObject
VOPanel
VOPlate
VOQuickHelp
VOSpace
VOText
VOVecImage
VOWindow
VOWindowGroup
- CLASSNAME
-
ImgSelDlgDesc*
- BASECLASS
-
W.WindowDesc
- POINTER
-
ImgSelDlg
- DESCIPTION
-
(no description)
- METHODS
-
PROCEDURE Init*;
-
- DESCRIPTION
-
(no description)
PROCEDURE PreInit*;
-
- DESCRIPTION
-
(no description)
PROCEDURE Receive*(message : VOObject.Message);
-
- DESCRIPTION
-
(no description)
PROCEDURE SetImage*(image : LONGINT);
-
- DESCRIPTION
-
(no description)
- CLASSNAME
-
SetMsgDesc*
- BASECLASS
-
O.MessageDesc
- POINTER
-
SetMsg
- DESCIPTION
-
(no description)
- MODULENAME
-
VOMsgDialog
- DESCRIPTION
-
A module for creating simple dialogs for displaying
modal messages and getting simple user response.
- TODO
-
Preferences for imgaes to use.
- IMPORTS
-
VOButton
VOButtonRow
VODisplay
VOGUIObject
VOKeyHandler
VOObject
VOPanel
VOSpace
VOText
VOUtil
VOVecImage
VOWindow
VOWindowGroup
Strings
- FUNCTIONS
-
PROCEDURE Dialog*(display : VODisplay.Display; parent : VODisplay.Window; title,text,button : ARRAY OF CHAR; type : LONGINT):MsgDialog;
-
- DESCRIPTION
-
(no description)
- CLASSNAME
-
MsgDialogDesc*
- BASECLASS
-
W.WindowDesc
- POINTER
-
MsgDialog
- DESCIPTION
-
(no description)
- METHODS
-
PROCEDURE Init*;
-
- DESCRIPTION
-
(no description)
PROCEDURE SetText*(text,button : ARRAY OF CHAR; type : LONGINT);
-
- DESCRIPTION
-
Set the text to display in the dialog, the buttons to be showed and
the image.
- PARAMETER
-
Text can use any escape sequences supported by VOText, button consists
of a list of button labels ("_","*","^" and "#" are supported) devided
by "|" and type can be one of the constants defined in this module.
PROCEDURE PreInit*;
-
- DESCRIPTION
-
(no description)
PROCEDURE Receive*(message : VOObject.Message);
-
- DESCRIPTION
-
(no description)
- MODULENAME
-
VOPrefsGUI
- DESCRIPTION
-
Module for handling of the various preferences GUIs.
Offers a flexible settings dialog.
- IMPORTS
-
VOButton
VOButtonRow
VODisplay
VOFrame
VOGUIObject
VOKeyHandler
VOList
VOListModel
VOMulti
VOObject
VOPanel
VOPlate
VOPrefsParser
VOPrefsScanner
VOQuickHelp
VOSpace
VOText
VOUtil
VOVecImage
VOWindow
VOWindowGroup
BinaryRider
Err
Files
Rts
Strings
TextRider
- FUNCTIONS
-
PROCEDURE Msg(string : ARRAY OF CHAR);
-
- DESCRIPTION
-
(no description)
PROCEDURE PrefsCallback(appName : ARRAY OF CHAR; display : VODisplay.Display);
-
- DESCRIPTION
-
(no description)
PROCEDURE StdErrorProc*(n: INTEGER; pos: LONGINT);
-
- DESCRIPTION
-
The standard error handler for the preferences parser.
It just prints out errors to stderr.
PROCEDURE CreateFrameButton*(value : LONGINT; VAR frame : VOFrame.Frame; display : VODisplay.Display; destination : VOObject.MsgObject; keyHandler : VOKeyHandler.KeyHandler; tooltip : ARRAY OF CHAR):VOButton.Button;
-
- DESCRIPTION
-
(no description)
PROCEDURE CreateImageButton*(value : LONGINT; VAR image : VOVecImage.VecImage; display : VODisplay.Display; destination : VOObject.MsgObject; keyHandler : VOKeyHandler.KeyHandler; tooltip : ARRAY OF CHAR):VOButton.Button;
-
- DESCRIPTION
-
(no description)
- CLASSNAME
-
PrefsItemDesc*
- BASECLASS
-
O.MsgObjectDesc
- POINTER
-
PrefsItem
- DESCIPTION
-
(no description)
- METHODS
-
PROCEDURE SetData(window : VOWindow.Window; display : VODisplay.Display);
-
- DESCRIPTION
-
(no description)
PROCEDURE Init*;
-
- DESCRIPTION
-
(no description)
PROCEDURE LoadPrefsFile*(name,application : ARRAY OF CHAR):VOPrefsParser.Item;
-
- DESCRIPTION
-
Load the preferences file with the given name. Don't start the
filename with something like ~/.VisualOberon, VO will prepend that
itself.
If the file can be found and has been successfully parsed, it will
return a pointe to the top node. Use VOPrefsParser.Item.GetEntry
to get its contents.
PROCEDURE ErrorWrongData*(name,value : ARRAY OF CHAR);
-
- DESCRIPTION
-
(no description)
PROCEDURE LoadPrefs*(appName : ARRAY OF CHAR);
-
- DESCRIPTION
-
All preferences should have a load-method. The baseclass
does nothing.
PROCEDURE GetObject*():VOGUIObject.Object;
-
- DESCRIPTION
-
(no description)
PROCEDURE SaveItems*(name : ARRAY OF CHAR; top : VOPrefsParser.Item);
-
- DESCRIPTION
-
(no description)
PROCEDURE Apply*;
-
- DESCRIPTION
-
(no description)
PROCEDURE Save*;
-
- DESCRIPTION
-
(no description)
PROCEDURE Refresh*;
-
- DESCRIPTION
-
(no description)
- CLASSNAME
-
SettingsDesc*
- BASECLASS
-
W.WindowDesc
- POINTER
-
Settings
- DESCIPTION
-
(no description)
- METHODS
-
PROCEDURE AddItem*(item : PrefsItem);
-
- DESCRIPTION
-
(no description)
PROCEDURE Init*;
-
- DESCRIPTION
-
(no description)
PROCEDURE SetDisplay*(display : VODisplay.Display);
-
- DESCRIPTION
-
(no description)
PROCEDURE ExitOnClose*(exit : BOOLEAN);
-
- DESCRIPTION
-
If you want the dialog to quit the application, set this to true.
This is usefull, if the configuration dialog is a standalone
window.
PROCEDURE PreInit*;
-
- DESCRIPTION
-
(no description)
PROCEDURE Open*;
-
- DESCRIPTION
-
(no description)
PROCEDURE LoadPrefs*(appName : ARRAY OF CHAR);
-
- DESCRIPTION
-
(no description)
PROCEDURE ApplyPrefs*;
-
- DESCRIPTION
-
(no description)
PROCEDURE SavePrefs*;
-
- DESCRIPTION
-
(no description)
PROCEDURE Receive*(message : VOObject.Message);
-
- DESCRIPTION
-
(no description)
- CLASSNAME
-
Sel2SetDesc*
- BASECLASS
-
O.HandlerDesc
- POINTER
-
Sel2Set
- DESCIPTION
-
(no description)
- METHODS
-
PROCEDURE Convert*(message : VOObject.Message):VOObject.Message;
-
- DESCRIPTION
-
(no description)
- MODULENAME
-
VOBool
- DESCRIPTION
-
A simple boolean button with a selected and an unselected state.
- IMPORTS
-
VOBoolModel
VODisplay
VOEvent
VOGUIObject
VOObject
VOPrefs
VOVecImage
- CLASSNAME
-
PrefsDesc*
- BASECLASS
-
P.PrefsDesc
- POINTER
-
Prefs
- DESCIPTION
-
In this class all preferences stuff of the button is stored.
- METHODS
-
PROCEDURE Init*;
-
- DESCRIPTION
-
(no description)
- CLASSNAME
-
BoolDesc*
- BASECLASS
-
G.GadgetDesc
- POINTER
-
Bool
- DESCIPTION
-
Implementation of a bool gadget.
- METHODS
-
PROCEDURE IsIn(x,y : LONGINT):BOOLEAN;
-
- DESCRIPTION
-
(no description)
PROCEDURE Init*;
-
- DESCRIPTION
-
(no description)
PROCEDURE SetModel*(model : VOBoolModel.BoolModel);
-
- DESCRIPTION
-
Assign a bool model to the bool-gadget. The bool gadget
will up to now always display the value of the bool model.
PROCEDURE CalcSize*(display : VODisplay.Display);
-
- DESCRIPTION
-
(no description)
PROCEDURE GetFocus*(event : VOEvent.Event):VOGUIObject.Object;
-
- DESCRIPTION
-
(no description)
PROCEDURE HandleEvent*(event : VOEvent.Event):BOOLEAN;
-
- DESCRIPTION
-
(no description)
PROCEDURE HandleFocusEvent*(event : VOEvent.KeyEvent):BOOLEAN;
-
- DESCRIPTION
-
(no description)
PROCEDURE Draw*(x,y : LONGINT; draw : VODisplay.DrawInfo);
-
- DESCRIPTION
-
(no description)
PROCEDURE DrawFocus*;
-
- DESCRIPTION
-
Draw the keyboard focus.
PROCEDURE HideFocus*;
-
- DESCRIPTION
-
Hide the keyboard focus.
PROCEDURE Resync*(model : VOObject.Model; msg : VOObject.ResyncMsg);
-
- DESCRIPTION
-
(no description)
PROCEDURE Receive*(message : VOObject.Message);
-
- DESCRIPTION
-
(no description)
PROCEDURE Hide*;
-
- DESCRIPTION
-
(no description)
- CLASSNAME
-
ClickedMsgDesc*
- BASECLASS
-
O.MessageDesc
- POINTER
-
ClickedMsg
- DESCIPTION
-
The PressedMsg generated everytime the button get clicked.
- MODULENAME
-
VOButton
- DESCRIPTION
-
This module implements a button.
The button label can be a text or any other graphical object.
This module is well documented to show how to implement a simple
gadget. It also demonstrates, how the VO-engine works.
- IMPORTS
-
VODisplay
VOEvent
VOFrame
VOGUIObject
VOKeyHandler
VOObject
VOText
VOUtil
Strings
- CLASSNAME
-
PrefsDesc*
- BASECLASS
-
G.PrefsDesc
- POINTER
-
Prefs
- DESCIPTION
-
In this class all preferences stuff of the button is stored.
- METHODS
-
PROCEDURE SetPrefs(b : Button);
-
- DESCRIPTION
-
(no description)
PROCEDURE Init*;
-
- DESCRIPTION
-
(no description)
- CLASSNAME
-
ButtonDesc*
- BASECLASS
-
G.GadgetDesc
- POINTER
-
Button
- DESCIPTION
-
THe ButtonClass.
Since a button needs some eventhandling, so we inherit
from VOGUIObject.Gadget.
- METHODS
-
PROCEDURE Init*;
-
- DESCRIPTION
-
The Init-method of our button.
PROCEDURE SetFont*(font : LONGINT);
-
- DESCRIPTION
-
Set a new font to be used by the string gadget.
PROCEDURE SetText*(string : ARRAY OF CHAR);
-
- DESCRIPTION
-
Call this method, if you want the given text to be displayed in
the button.
This creates simply an VOText.Text instance for Button.image.
PROCEDURE SetLabelText*(string : ARRAY OF CHAR; keyHandler : VOKeyHandler.KeyHandler);
-
- DESCRIPTION
-
Call this method, if you want the given text to be displayed in
the button and want the button to interpret the given string
regarding shortcuts.
This creates simply an VOText.Text instance for Button.image.
PROCEDURE SetImage*(image : VOGUIObject.Object);
-
- DESCRIPTION
-
Use this method if you do not want text displayed in the button.
We use n external initialized image. Not that for Button there is no difference
between text and any oher image after this point.
PROCEDURE SetType*(type : LONGINT);
-
- DESCRIPTION
-
We can define special types of buttons. Currently supported are normal, small and image.
PROCEDURE SetPulse*(pulse : BOOLEAN);
-
- DESCRIPTION
-
Is pulsemode is true, the button send permanent pressedMsg on mouse button down
and none on the final button up.
This is usefull for buttons in a scroller or similar.
PROCEDURE GetDnDObject*(x,y : LONGINT; drag : BOOLEAN):VOGUIObject.Object;
-
- DESCRIPTION
-
Returns the object that coveres the given point and that supports
drag and drop of data.
If drag is TRUE, when want to find a object that we can drag data from,
else we want an object to drop data on.
PROCEDURE CalcSize*(display : VODisplay.Display);
-
- DESCRIPTION
-
This method gets called by the parent object before the first call to Button.Draw.
We have to calculate the bounds of our button.
PROCEDURE GetFocus*(event : VOEvent.Event):VOGUIObject.Object;
-
- DESCRIPTION
-
This method gets called when the window gets an event and looks for
someone that processes it.
If GetFocus return an object, that objets HandleEvent-method
get called untill it gives away the focus.
PROCEDURE HandleEvent*(event : VOEvent.Event):BOOLEAN;
-
- DESCRIPTION
-
Handles all events after GetFocus catched the focus for us.
PROCEDURE HandleFocusEvent*(event : VOEvent.KeyEvent):BOOLEAN;
-
- DESCRIPTION
-
This method gets called when we have the keyboard focus and
a key is pressed. We analyse the key. If it is the space-key,
we've been selected.
- TODO
-
Go into the selected state, when we get a KeyPress-event for
the space key. Get unselected again, if we receive a KeyRelease-
event and send a PressedMsg. Get unselected without sending
a PressedMsg when Object.LostFocus got called.
PROCEDURE HandleShortcutEvent*(id,state : LONGINT);
-
- DESCRIPTION
-
(no description)
PROCEDURE Draw*(x,y : LONGINT; draw : VODisplay.DrawInfo);
-
- DESCRIPTION
-
Gets called if the engine whants us to draw ourself.
PROCEDURE DrawFocus*;
-
- DESCRIPTION
-
Draw the keyboard focus.
PROCEDURE HideFocus*;
-
- DESCRIPTION
-
Hide the keyboard focus.
PROCEDURE Hide*;
-
- DESCRIPTION
-
Hides the button. The buttons hides itself by hiding its label and its frame. Note, that you must
set Object.visible yourself when you overload Object.Hide.
PROCEDURE Receive*(message : VOObject.Message);
-
- DESCRIPTION
-
(no description)
- CLASSNAME
-
PressedMsgDesc*
- BASECLASS
-
O.MessageDesc
- POINTER
-
PressedMsg
- DESCIPTION
-
The PressedMsg generated everytime the button get clicked.
- MODULENAME
-
VOClock
- DESCRIPTION
-
A nice analog clock, to be placed everywhere you like.
- IMPORTS
-
VODisplay
VOEvent
VOFrame
VOGUIObject
VOObject
VOText
Calendar
SysClock
- FUNCTIONS
-
PROCEDURE sin(grad : LONGINT):LONGINT;
-
- DESCRIPTION
-
(no description)
PROCEDURE cos(grad : LONGINT):LONGINT;
-
- DESCRIPTION
-
(no description)
- CLASSNAME
-
PrefsDesc*
- BASECLASS
-
G.PrefsDesc
- POINTER
-
Prefs
- DESCIPTION
-
In this class all preferences stuff of the button is stored.
- METHODS
-
PROCEDURE SetPrefs(c : Clock);
-
- DESCRIPTION
-
(no description)
PROCEDURE Init*;
-
- DESCRIPTION
-
(no description)
- CLASSNAME
-
ClockDesc*
- BASECLASS
-
G.GadgetDesc
- POINTER
-
Clock
- DESCIPTION
-
(no description)
- METHODS
-
PROCEDURE Init*;
-
- DESCRIPTION
-
(no description)
PROCEDURE ShowFrame*(framed : BOOLEAN);
-
- DESCRIPTION
-
Tell if the clock should be framed. Defaults to TRUE.
PROCEDURE SetText*(text1,text2 : ARRAY OF CHAR);
-
- DESCRIPTION
-
Set the text to display in normal state and when clicked.
Use placeholders defined in module Calendar. If you don't set
a text, no space for text will be reserved. Length is the estimated
length in characters. Note that VOClocck will use the width of a
special character for calculation of the string length in pixel, so
the real size may be different.
- NOTE
-
Text must no exceed 50 characters. Currently text must be set
on creation. But can then be altered on the fly.
PROCEDURE CalcSize*(display : VODisplay.Display);
-
- DESCRIPTION
-
(no description)
PROCEDURE GetFocus*(event : VOEvent.Event):VOGUIObject.Object;
-
- DESCRIPTION
-
This method gets called when the window gets an event and looks for
someone that processes it.
If GetFocus return an object, that objets HandleEvent-method
get called untill it gives away the focus.
PROCEDURE HandleEvent*(event : VOEvent.Event):BOOLEAN;
-
- DESCRIPTION
-
Handles all events after GetFocus catched the focus for us.
PROCEDURE Draw*(x,y : LONGINT; draw : VODisplay.DrawInfo);
-
- DESCRIPTION
-
(no description)
PROCEDURE Hide*;
-
- DESCRIPTION
-
(no description)
PROCEDURE Receive*(msg : VOObject.Message);
-
- DESCRIPTION
-
(no description)
- MODULENAME
-
VOColorArea
- DESCRIPTION
-
Just a plain area with a given color. Usefull for a buttonimage, when you
want some kind of palette button.
- IMPORTS
-
- CLASSNAME
-
ColorAreaDesc*
- BASECLASS
-
O.ImageDesc
- POINTER
-
ColorArea
- DESCIPTION
-
(no description)
- METHODS
-
PROCEDURE Init*;
-
- DESCRIPTION
-
(no description)
PROCEDURE SetColor*(color : VODisplay.Color);
-
- DESCRIPTION
-
The the color of the color area.
PROCEDURE CalcSize*(display : VODisplay.Display);
-
- DESCRIPTION
-
(no description)
PROCEDURE Draw*(x,y : LONGINT; draw : VODisplay.DrawInfo);
-
- DESCRIPTION
-
(no description)
PROCEDURE Hide*;
-
- DESCRIPTION
-
(no description)
- MODULENAME
-
VOCycle
- DESCRIPTION
-
A cycle gadget as nown from the amiga.
- IMPORTS
-
VODisplay
VOEvent
VOFrame
VOGUIObject
VOIntModel
VOObject
VOVecImage
- CLASSNAME
-
PrefsDesc*
- BASECLASS
-
G.PrefsDesc
- POINTER
-
Prefs
- DESCIPTION
-
In this class all preferences stuff of the cycle is stored.
- METHODS
-
PROCEDURE SetPrefs(c : Cycle);
-
- DESCRIPTION
-
(no description)
PROCEDURE Init*;
-
- DESCRIPTION
-
(no description)
- CLASSNAME
-
CycleDesc*
- BASECLASS
-
G.GroupDesc
- POINTER
-
Cycle
- DESCIPTION
-
(no description)
- METHODS
-
PROCEDURE Init*;
-
- DESCRIPTION
-
(no description)
PROCEDURE SetModel*(model : VOIntModel.IntModel);
-
- DESCRIPTION
-
Assign the model for the cycle object. The cycle object will show the nth entry
given by the value of the integer model.
PROCEDURE CalcSize*(display : VODisplay.Display);
-
- DESCRIPTION
-
(no description)
PROCEDURE GetFocus*(event : VOEvent.Event):VOGUIObject.Object;
-
- DESCRIPTION
-
(no description)
PROCEDURE HandleEvent*(event : VOEvent.Event):BOOLEAN;
-
- DESCRIPTION
-
(no description)
PROCEDURE HandleFocusEvent*(event : VOEvent.KeyEvent):BOOLEAN;
-
- DESCRIPTION
-
(no description)
PROCEDURE Draw*(x,y : LONGINT; draw : VODisplay.DrawInfo);
-
- DESCRIPTION
-
(no description)
PROCEDURE Refresh*(x,y,w,h : LONGINT);
-
- DESCRIPTION
-
Refreshes the group object by refreshing all objects in the object list.
The refresh retangle is preserved and will be handled to all subobjects.
PROCEDURE DrawFocus*;
-
- DESCRIPTION
-
(no description)
PROCEDURE HideFocus*;
-
- DESCRIPTION
-
Hide the keyboard focus.
PROCEDURE Resync*(model : VOObject.Model; msg : VOObject.ResyncMsg);
-
- DESCRIPTION
-
(no description)
PROCEDURE Hide*;
-
- DESCRIPTION
-
(no description)
- CLASSNAME
-
SelectedMsgDesc*
- BASECLASS
-
O.MessageDesc
- POINTER
-
SelectedMsg
- DESCIPTION
-
(no description)
- MODULENAME
-
VODigiClock
- DESCRIPTION
-
A nice digital clock, to be placed everywhere you like.
- IMPORTS
-
VODisplay
VOEvent
VOGUIObject
VOObject
VOSegment7
Calendar
SysClock
- CLASSNAME
-
PrefsDesc*
- BASECLASS
-
G.PrefsDesc
- POINTER
-
Prefs
- DESCIPTION
-
In this class all preferences stuff of the button is stored.
- METHODS
-
PROCEDURE SetPrefs(d : DigiClock);
-
- DESCRIPTION
-
(no description)
- CLASSNAME
-
DigiClockDesc*
- BASECLASS
-
G.GadgetDesc
- POINTER
-
DigiClock
- DESCIPTION
-
(no description)
- METHODS
-
PROCEDURE DrawClock(full : BOOLEAN);
-
- DESCRIPTION
-
(no description)
PROCEDURE Init*;
-
- DESCRIPTION
-
(no description)
PROCEDURE SetForeground*(color : VODisplay.Color);
-
- DESCRIPTION
-
(no description)
PROCEDURE SetNumberBackground*(color : VODisplay.Color);
-
- DESCRIPTION
-
(no description)
PROCEDURE CalcSize*(display : VODisplay.Display);
-
- DESCRIPTION
-
(no description)
PROCEDURE GetFocus*(event : VOEvent.Event):VOGUIObject.Object;
-
- DESCRIPTION
-
This method gets called when the window gets an event and looks for
someone that processes it.
If GetFocus return an object, that objets HandleEvent-method
get called untill it gives away the focus.
PROCEDURE HandleEvent*(event : VOEvent.Event):BOOLEAN;
-
- DESCRIPTION
-
Handles all events after GetFocus catched the focus for us.
PROCEDURE Draw*(x,y : LONGINT; draw : VODisplay.DrawInfo);
-
- DESCRIPTION
-
(no description)
PROCEDURE Hide*;
-
- DESCRIPTION
-
(no description)
PROCEDURE Receive*(msg : VOObject.Message);
-
- DESCRIPTION
-
(no description)
- MODULENAME
-
VODoom
- DESCRIPTION
-
A small doom engine.
- IMPORTS
-
VODisplay
VOGUIObject
VOObject
Err
RealMath
- FUNCTIONS
-
PROCEDURE IsHit(x,y : LONGINT; VAR side : LONGINT; VAR dist : REAL):BOOLEAN;
-
- DESCRIPTION
-
(no description)
- CLASSNAME
-
DoomDesc*
- BASECLASS
-
G.GadgetDesc
- POINTER
-
Doom
- DESCIPTION
-
(no description)
- METHODS
-
PROCEDURE DrawImage(rotate : BOOLEAN);
-
- DESCRIPTION
-
(no description)
PROCEDURE Init*;
-
- DESCRIPTION
-
(no description)
PROCEDURE CalcSize*(display : VODisplay.Display);
-
- DESCRIPTION
-
(no description)
PROCEDURE Draw*(x,y : LONGINT; draw : VODisplay.DrawInfo);
-
- DESCRIPTION
-
(no description)
PROCEDURE Hide*;
-
- DESCRIPTION
-
(no description)
PROCEDURE Receive*(msg : VOObject.Message);
-
- DESCRIPTION
-
(no description)
PROCEDURE Free*;
-
- DESCRIPTION
-
(no description)
- MODULENAME
-
VOFrame
- DESCRIPTION
-
A image class that implements a number of frames. Use the frames
implemented here everywhere where possible. Do not implement
your own frames, add them here. Add your frames also here, when you
want to implement another look.
- TODO
-
* nicer frame for string gadget
* Make some frames support label (groupFrame)
* Isn't a line a special frame?
- IMPORTS
-
VODisplay
VOGUIObject
VOPrefs
- FUNCTIONS
-
PROCEDURE GetFrameEntry*(name : ARRAY OF CHAR):LONGINT;
-
- DESCRIPTION
-
(no description)
- CLASSNAME
-
PrefsDesc*
- BASECLASS
-
P.PrefsDesc
- POINTER
-
Prefs
- DESCIPTION
-
(no description)
- METHODS
-
PROCEDURE Init*;
-
- DESCRIPTION
-
(no description)
- CLASSNAME
-
FrameDesc*
- BASECLASS
-
G.ImageDesc
- POINTER
-
Frame
- DESCIPTION
-
(no description)
- METHODS
-
PROCEDURE Init*;
-
- DESCRIPTION
-
(no description)
PROCEDURE SetFrame*(type : LONGINT);
-
- DESCRIPTION
-
Set the frame to be used.
- NOTE
-
The frame can be changed at runtime.
PROCEDURE SetInternalFrame*(type : LONGINT);
-
- DESCRIPTION
-
Set the frame to be used.
- NOTE
-
The frame can be changed at runtime.
PROCEDURE SetLabel*(label : VOGUIObject.Object);
-
- DESCRIPTION
-
(no description)
PROCEDURE CalcSize*(display : VODisplay.Display);
-
- DESCRIPTION
-
(no description)
PROCEDURE Draw*(x,y : LONGINT; draw : VODisplay.DrawInfo);
-
- DESCRIPTION
-
(no description)
PROCEDURE Hide*;
-
- DESCRIPTION
-
(no description)
- MODULENAME
-
VOFuelGauge
- DESCRIPTION
-
A imgae class that implements a fuel gauge, needed for displaying the
amount a process has yet proceded.
- IMPORTS
-
VODisplay
VOFrame
VOGUIObject
VOIntModel
VOObject
VOPrefs
- CLASSNAME
-
PrefsDesc*
- BASECLASS
-
P.PrefsDesc
- POINTER
-
Prefs
- DESCIPTION
-
In this class all preferences stuff of the button is stored.
- METHODS
-
PROCEDURE Init*;
-
- DESCRIPTION
-
(no description)
- CLASSNAME
-
FuelGaugeDesc*
- BASECLASS
-
G.ImageDesc
- POINTER
-
FuelGauge
- DESCIPTION
-
(no description)
- METHODS
-
PROCEDURE Init*;
-
- DESCRIPTION
-
(no description)
PROCEDURE SetDirection*(vertical : BOOLEAN);
-
- DESCRIPTION
-
(no description)
PROCEDURE SetRange*(min,max : LONGINT);
-
- DESCRIPTION
-
Set the minimal and maximal value the fuel gauge should display.
- NOTE
-
The image currently does not cut down the value to the given range,
so be carefull.
PROCEDURE SetModel*(model : VOIntModel.IntModel);
-
- DESCRIPTION
-
Set the integer model which represents the current value.
PROCEDURE CalcSize*(display : VODisplay.Display);
-
- DESCRIPTION
-
(no description)
PROCEDURE Draw*(x,y : LONGINT; draw : VODisplay.DrawInfo);
-
- DESCRIPTION
-
(no description)
PROCEDURE Hide*;
-
- DESCRIPTION
-
(no description)
PROCEDURE Resync*(model : VOObject.Model; msg : VOObject.ResyncMsg);
-
- DESCRIPTION
-
(no description)
- MODULENAME
-
VOImage
- DESCRIPTION
-
This module implements loading and displaying of images.
This implementation use the Imlib to handle loading and drawing.
- IMPORTS
-
VODisplay
VOGUIObject
VOUtil
Err
Strings
Imlib
X11
- CLASSNAME
-
ImageDesc*
- BASECLASS
-
G.ImageDesc
- POINTER
-
Image
- DESCIPTION
-
(no description)
- METHODS
-
PROCEDURE FreePixmaps;
-
- DESCRIPTION
-
(no description)
PROCEDURE MakePixmap;
-
- DESCRIPTION
-
(no description)
PROCEDURE Init*;
-
- DESCRIPTION
-
Initialized the object. Must be called.
PROCEDURE SetAlignment*(horiz, vert : LONGINT);
-
- DESCRIPTION
-
Set the alignment of the image within the image area.
See VOGUIObject for alignments supported.
PROCEDURE SetFilename*(name : ARRAY OF CHAR);
-
- DESCRIPTION
-
Set the filename of the image. Must be set before use.
PROCEDURE SetMode*(mode : LONGINT);
-
- DESCRIPTION
-
Set the mode of the object.
* plainMode
Uses the fillColor when selecting.
* buttonMode
draw the image a little bit more left and down on select, so one gets
a 3D feal when selecting-
PROCEDURE Resize*(width,height : LONGINT);
-
- DESCRIPTION
-
(no description)
PROCEDURE CalcSize*(display : VODisplay.Display);
-
- DESCRIPTION
-
(no description)
PROCEDURE Draw*(x,y : LONGINT; draw : VODisplay.DrawInfo);
-
- DESCRIPTION
-
(no description)
PROCEDURE DrawPart*(x,y,w,h,dx,dy : LONGINT; draw : VODisplay.DrawInfo);
-
- DESCRIPTION
-
(no description)
PROCEDURE DrawTiled*(x,y,w,h,dx,dy : LONGINT; draw : VODisplay.DrawInfo);
-
- DESCRIPTION
-
(no description)
PROCEDURE Hide*;
-
- DESCRIPTION
-
(no description)
PROCEDURE Free*;
-
- DESCRIPTION
-
Must be called before image gets garbage collected
or you possibly get memory leaks.
PROCEDURE CalcSize*(display : VODisplay.Display);
-
- DESCRIPTION
-
(no description)
PROCEDURE DrawPart*(x,y,w,h,dx,dy : LONGINT; draw : VODisplay.DrawInfo);
-
- DESCRIPTION
-
(no description)
PROCEDURE DrawTiled*(x,y,w,h,dx,dy : LONGINT; draw : VODisplay.DrawInfo);
-
- DESCRIPTION
-
(no description)
- MODULENAME
-
VOLED
- DESCRIPTION
-
A simple led with two states: on and off.
- IMPORTS
-
VOBoolModel
VODisplay
VOGUIObject
VOObject
VOPrefs
- CLASSNAME
-
PrefsDesc*
- BASECLASS
-
P.PrefsDesc
- POINTER
-
Prefs
- DESCIPTION
-
In this class all preferences stuff is stored.
- METHODS
-
PROCEDURE Init*;
-
- DESCRIPTION
-
(no description)
- CLASSNAME
-
LEDDesc*
- BASECLASS
-
G.ImageDesc
- POINTER
-
LED
- DESCIPTION
-
(no description)
- METHODS
-
PROCEDURE Init*;
-
- DESCRIPTION
-
(no description)
PROCEDURE SetModel*(model : VOBoolModel.BoolModel);
-
- DESCRIPTION
-
Assign the boolean model to the LED. The LED will be on, when the value of the
model is true, else it will off.
PROCEDURE CalcSize*(display : VODisplay.Display);
-
- DESCRIPTION
-
(no description)
PROCEDURE Draw*(x,y : LONGINT; draw : VODisplay.DrawInfo);
-
- DESCRIPTION
-
(no description)
PROCEDURE Resync*(model : VOObject.Model; msg : VOObject.ResyncMsg);
-
- DESCRIPTION
-
(no description)
- MODULENAME
-
VOLightChain
- DESCRIPTION
-
An oszilloscope-like object to display a continious number of values
on a timeline.
- IMPORTS
-
SYSTEM
VODisplay
VOFrame
VOGUIObject
VOObject
VOPrefs
VOUtil
Strings
- FUNCTIONS
-
PROCEDURE InitChar(VAR font : Font; letter : CHAR; store : CharStore);
-
- DESCRIPTION
-
(no description)
- CLASSNAME
-
PrefsDesc*
- BASECLASS
-
P.PrefsDesc
- POINTER
-
Prefs
- DESCIPTION
-
In this class all preferences stuff is stored.
- METHODS
-
PROCEDURE Init*;
-
- DESCRIPTION
-
(no description)
- CLASSNAME
-
LightChainDesc*
- BASECLASS
-
G.ImageDesc
- POINTER
-
LightChain
- DESCIPTION
-
(no description)
- METHODS
-
PROCEDURE Readapt(letters : LONGINT);
-
- DESCRIPTION
-
Refresh internal datatstructures after an resize peration.
PROCEDURE DrawPoint(x,y : LONGINT);
-
- DESCRIPTION
-
(no description)
PROCEDURE Scroll;
-
- DESCRIPTION
-
Scroll the display one character to the left.
PROCEDURE Invert;
-
- DESCRIPTION
-
Invert the display.
PROCEDURE SoftScroll;
-
- DESCRIPTION
-
Scroll the display one pixel to the left.
PROCEDURE AddChar(char : Character; bit : LONGINT);
-
- DESCRIPTION
-
Scroll the display one pixel left if needed and add the given row of the
given character to the display.
PROCEDURE Init*;
-
- DESCRIPTION
-
(no description)
PROCEDURE SetText*(text : ARRAY OF CHAR);
-
- DESCRIPTION
-
Set the text to be displayed in the display.
PROCEDURE CalcSize*(display : VODisplay.Display);
-
- DESCRIPTION
-
(no description)
PROCEDURE Resize*(width,height : LONGINT);
-
- DESCRIPTION
-
(no description)
PROCEDURE Draw*(x,y : LONGINT; draw : VODisplay.DrawInfo);
-
- DESCRIPTION
-
(no description)
PROCEDURE Hide*;
-
- DESCRIPTION
-
(no description)
PROCEDURE Receive*(msg : VOObject.Message);
-
- DESCRIPTION
-
(no description)
- MODULENAME
-
VOLine
- DESCRIPTION
-
Simply draws vertical or horizontal lines. Usefull for visually
seperating groups of objects.
- IMPORTS
-
VODisplay
VOGUIObject
VOVecImage
- CLASSNAME
-
LineDesc*
- BASECLASS
-
G.ObjectDesc
- POINTER
-
Line
- DESCIPTION
-
(no description)
- METHODS
-
PROCEDURE Init*;
-
- DESCRIPTION
-
(no description)
PROCEDURE Set*(vert : BOOLEAN; size : SHORTINT);
-
- DESCRIPTION
-
Spezify direction (vertical or horizontal) and the size of the line.
Size spezifies the size of the line within its bounds in procent. E.g.,
if you spezify the line will always have half the size of its bounds and
will be displayed centered.
PROCEDURE CalcSize*(d : VODisplay.Display);
-
- DESCRIPTION
-
(no description)
PROCEDURE Draw*(x,y : LONGINT; draw : VODisplay.DrawInfo);
-
- DESCRIPTION
-
(no description)
PROCEDURE Hide*;
-
- DESCRIPTION
-
(no description)
- MODULENAME
-
VOList
- DESCRIPTION
-
A list gadget. Is prepared for handling multible columns. Can be
used as multi-selection listgadget.
- IMPORTS
-
VODisplay
VOEvent
VOFrame
VOGUIObject
VOIntModel
VOListModel
VOObject
VOPrefs
VOScroller
- CLASSNAME
-
PrefsDesc*
- BASECLASS
-
P.PrefsDesc
- POINTER
-
Prefs
- DESCIPTION
-
In this class all preferences stuff of the button is stored.
- METHODS
-
PROCEDURE Init*;
-
- DESCRIPTION
-
(no description)
- CLASSNAME
-
ListDesc*
- BASECLASS
-
G.GadgetDesc
- POINTER
-
List
- DESCIPTION
-
(no description)
- METHODS
-
PROCEDURE GetEntry(y : LONGINT):VOListModel.ListEntry;
-
- DESCRIPTION
-
(no description)
PROCEDURE RedrawEntry(entry : VOListModel.ListEntry);
-
- DESCRIPTION
-
(no description)
PROCEDURE Init*;
-
- DESCRIPTION
-
(no description)
PROCEDURE SetModel*(model : VOListModel.ListModel);
-
- DESCRIPTION
-
(no description)
PROCEDURE SetReadOnly*(readonly : BOOLEAN);
-
- DESCRIPTION
-
(no description)
PROCEDURE UseScroller*(use : BOOLEAN);
-
- DESCRIPTION
-
(no description)
PROCEDURE CalcSize*(display : VODisplay.Display);
-
- DESCRIPTION
-
(no description)
PROCEDURE GetFocus*(event : VOEvent.Event):VOGUIObject.Object;
-
- DESCRIPTION
-
(no description)
PROCEDURE HandleEvent*(event : VOEvent.Event):BOOLEAN;
-
- DESCRIPTION
-
(no description)
PROCEDURE HandleFocusEvent*(event : VOEvent.KeyEvent):BOOLEAN;
-
- DESCRIPTION
-
(no description)
PROCEDURE Draw*(x,y : LONGINT; draw : VODisplay.DrawInfo);
-
- DESCRIPTION
-
(no description)
PROCEDURE Resync*(model : VOObject.Model; msg : VOObject.ResyncMsg);
-
- DESCRIPTION
-
(no description)
PROCEDURE Hide*;
-
- DESCRIPTION
-
(no description)
PROCEDURE SetTop*(top : LONGINT);
-
- DESCRIPTION
-
(no description)
- CLASSNAME
-
SelectedMsgDesc*
- BASECLASS
-
O.MessageDesc
- POINTER
-
SelectedMsg
- DESCIPTION
-
(no description)
- MODULENAME
-
VOLoad
- DESCRIPTION
-
Implements a load-like percentage display.
- IMPORTS
-
VODisplay
VOFrame
VOGUIObject
VOIntModel
VOObject
VOPrefs
VOSegment
VOUtil
IntStr
Strings
- CLASSNAME
-
PrefsDesc*
- BASECLASS
-
P.PrefsDesc
- POINTER
-
Prefs
- DESCIPTION
-
In this class all preferences stuff of the button is stored.
- METHODS
-
PROCEDURE Init*;
-
- DESCRIPTION
-
(no description)
- CLASSNAME
-
LoadDesc*
- BASECLASS
-
G.ImageDesc
- POINTER
-
Load
- DESCIPTION
-
(no description)
- METHODS
-
PROCEDURE DrawLoad;
-
- DESCRIPTION
-
Refresh loadmeter and text.
PROCEDURE Init*;
-
- DESCRIPTION
-
(no description)
PROCEDURE SetVertical*(vertical : BOOLEAN);
-
- DESCRIPTION
-
Tell, if the load should be display horizontally or
vertically.
Default is vertical.
PROCEDURE ShowLabel*(useLabel : BOOLEAN);
-
- DESCRIPTION
-
Tell, if the object should display its label.
PROCEDURE ShowFrame*(framed : BOOLEAN);
-
- DESCRIPTION
-
Tell, if the object should be framed. Defaults to TRUE.
PROCEDURE SetModel*(model : VOIntModel.IntModel);
-
- DESCRIPTION
-
Set the integer model which represents the current value.
PROCEDURE CalcSize*(display : VODisplay.Display);
-
- DESCRIPTION
-
(no description)
PROCEDURE SetRange*(bottom,top : LONGINT);
-
- DESCRIPTION
-
Set the bottom and top value the object should use for displaying.
PROCEDURE Draw*(x,y : LONGINT; draw : VODisplay.DrawInfo);
-
- DESCRIPTION
-
(no description)
PROCEDURE Hide*;
-
- DESCRIPTION
-
(no description)
PROCEDURE Resync*(model : VOObject.Model; msg : VOObject.ResyncMsg);
-
- DESCRIPTION
-
(no description)
PROCEDURE Free*;
-
- DESCRIPTION
-
(no description)
- MODULENAME
-
VOOszil
- DESCRIPTION
-
An oszilloscope-like object to display a continious number of values
on a timeline.
- NOTE
-
The interface for adding values might change in future to support
multiple graphs.
- IMPORTS
-
VODisplay
VOFrame
VODataStreamModel
VOGUIObject
VOObject
- CLASSNAME
-
PrefsDesc*
- BASECLASS
-
G.PrefsDesc
- POINTER
-
Prefs
- DESCIPTION
-
In this class all preferences stuff of the button is stored.
- METHODS
-
PROCEDURE SetPrefs(o : Oszil);
-
- DESCRIPTION
-
(no description)
PROCEDURE Init*;
-
- DESCRIPTION
-
(no description)
- CLASSNAME
-
OszilDesc*
- BASECLASS
-
G.ImageDesc
- POINTER
-
Oszil
- DESCIPTION
-
(no description)
- METHODS
-
PROCEDURE CalcMinMax();
-
- DESCRIPTION
-
(no description)
PROCEDURE ResizePoints(width : LONGINT);
-
- DESCRIPTION
-
(no description)
PROCEDURE ResizeSize(size : LONGINT);
-
- DESCRIPTION
-
(no description)
PROCEDURE DrawPoint(x : LONGINT; scroll : BOOLEAN);
-
- DESCRIPTION
-
(no description)
PROCEDURE Init*;
-
- DESCRIPTION
-
(no description)
PROCEDURE ShowFrame*(framed : BOOLEAN);
-
- DESCRIPTION
-
Tell, if the object should be framed. Defaults to TRUE.
PROCEDURE SetRange*(bottom,top : LONGINT);
-
- DESCRIPTION
-
Set the bottom and top value of the visible area. Values outside this area
are clipped and thus will not be displayed.
PROCEDURE SetInterval*(horizInt,vertInt : LONGINT);
-
- DESCRIPTION
-
The the interval at which horizontal and vertical
scaling lines will be displayed.
PROCEDURE SetModel*(model : VODataStreamModel.StreamLongModel);
-
- DESCRIPTION
-
Set the integer model which represents the current value.
PROCEDURE SetColor*(channel : LONGINT; color : VODisplay.Color);
-
- DESCRIPTION
-
Set a color for the given channel of the channel model. Colors will currently
be reset when the channel size of the model changes.
PROCEDURE CalcSize*(display : VODisplay.Display);
-
- DESCRIPTION
-
(no description)
PROCEDURE Resize*(width, height : LONGINT);
-
- DESCRIPTION
-
(no description)
PROCEDURE Draw*(x,y : LONGINT; draw : VODisplay.DrawInfo);
-
- DESCRIPTION
-
(no description)
PROCEDURE Hide*;
-
- DESCRIPTION
-
(no description)
PROCEDURE Resync*(model : VOObject.Model; msg : VOObject.ResyncMsg);
-
- DESCRIPTION
-
(no description)
PROCEDURE Free*;
-
- DESCRIPTION
-
(no description)
- MODULENAME
-
VOPatternLegend
- DESCRIPTION
-
- IMPORTS
-
VODisplay
VOFrame
VOGUIObject
- CLASSNAME
-
PatternLegendDesc*
- BASECLASS
-
G.GroupDesc
- POINTER
-
PatternLegend
- DESCIPTION
-
(no description)
- METHODS
-
PROCEDURE Init*;
-
- DESCRIPTION
-
(no description)
PROCEDURE SetMaximum*(maximum : LONGINT);
-
- DESCRIPTION
-
(no description)
PROCEDURE CalcSize*(display : VODisplay.Display);
-
- DESCRIPTION
-
(no description)
PROCEDURE Draw*(x,y : LONGINT; draw : VODisplay.DrawInfo);
-
- DESCRIPTION
-
(no description)
PROCEDURE Refresh*(x,y,w,h : LONGINT);
-
- DESCRIPTION
-
(no description)
PROCEDURE Hide*;
-
- DESCRIPTION
-
(no description)
- MODULENAME
-
VOPieChart
- DESCRIPTION
-
A simple pie chart for statistic stuff.
- IMPORTS
-
- CLASSNAME
-
PieChartDesc*
- BASECLASS
-
G.ImageDesc
- POINTER
-
PieChart
- DESCIPTION
-
(no description)
- METHODS
-
PROCEDURE Init*;
-
- DESCRIPTION
-
(no description)
PROCEDURE SetTotal*(total : LONGREAL);
-
- DESCRIPTION
-
(no description)
PROCEDURE AddValue*(value : LONGREAL);
-
- DESCRIPTION
-
(no description)
PROCEDURE CalcSize*(display : VODisplay.Display);
-
- DESCRIPTION
-
(no description)
PROCEDURE Draw*(x,y : LONGINT; draw : VODisplay.DrawInfo);
-
- DESCRIPTION
-
(no description)
PROCEDURE Hide*;
-
- DESCRIPTION
-
(no description)
- MODULENAME
-
VOPlot
- DESCRIPTION
-
VOPlot - Visual Oberon object to plot bar charts, linear, semi-log
and full logarithmic plots complete with labels and legends.
- IMPORTS
-
VOGUIObject
VODisplay
VOFunctionModel
VOObject
LRealMath
LowLReal
Strings
- FUNCTIONS
-
PROCEDURE PutCh(c:CHAR);
-
- DESCRIPTION
-
(no description)
PROCEDURE PutNumDig(c:LONGINT);
-
- DESCRIPTION
-
(no description)
PROCEDURE PutExp(exp:INTEGER);
-
- DESCRIPTION
-
(no description)
PROCEDURE LogOf(x : LONGREAL) : LONGREAL;
-
- DESCRIPTION
-
(no description)
PROCEDURE Classify(VAR Boundary : ClassSet; x, y : LONGINT);
-
- DESCRIPTION
-
(no description)
PROCEDURE Clip(Boundary : ClassSet);
-
- DESCRIPTION
-
(no description)
PROCEDURE PlotLine(x1, y1, x2, y2 : LONGINT);
-
- DESCRIPTION
-
(no description)
PROCEDURE PlotMinorX;
-
- DESCRIPTION
-
(no description)
PROCEDURE PlotMinorY;
-
- DESCRIPTION
-
(no description)
PROCEDURE RealToString*(num:LONGREAL; VAR str:ARRAY OF CHAR; minchars:INTEGER; fracchars:INTEGER; pad:CHAR): BOOLEAN;
-
- DESCRIPTION
-
(no description)
PROCEDURE Empty*() : Plot;
-
- DESCRIPTION
-
(no description)
PROCEDURE DonePlot*(VAR p : Plot);
-
- DESCRIPTION
-
(no description)
- MODULENAME
-
VOPower
- DESCRIPTION
-
A simple flashing light, to show that your application has not
crashed (yet ;-)).
- IMPORTS
-
VODisplay
VOFrame
VOGUIObject
VOObject
VOPrefs
- CLASSNAME
-
PrefsDesc*
- BASECLASS
-
P.PrefsDesc
- POINTER
-
Prefs
- DESCIPTION
-
In this class all preferences stuff of the button is stored.
- METHODS
-
PROCEDURE Init*;
-
- DESCRIPTION
-
(no description)
- CLASSNAME
-
PowerDesc*
- BASECLASS
-
G.ImageDesc
- POINTER
-
Power
- DESCIPTION
-
(no description)
- METHODS
-
PROCEDURE DrawBox;
-
- DESCRIPTION
-
(no description)
PROCEDURE Init*;
-
- DESCRIPTION
-
(no description)
PROCEDURE CalcSize*(display : VODisplay.Display);
-
- DESCRIPTION
-
(no description)
PROCEDURE Draw*(x,y : LONGINT; draw : VODisplay.DrawInfo);
-
- DESCRIPTION
-
(no description)
PROCEDURE Hide*;
-
- DESCRIPTION
-
(no description)
PROCEDURE Receive*(msg : VOObject.Message);
-
- DESCRIPTION
-
(no description)
- MODULENAME
-
VORadio
- DESCRIPTION
-
A radio button.
- IMPORTS
-
VODisplay
VOEvent
VOGUIObject
VOIntModel
VOObject
VOPrefs
VOVecImage
- CLASSNAME
-
PrefsDesc*
- BASECLASS
-
P.PrefsDesc
- POINTER
-
Prefs
- DESCIPTION
-
In this class all preferences stuff of the button is stored.
- METHODS
-
PROCEDURE Init*;
-
- DESCRIPTION
-
(no description)
- CLASSNAME
-
RadioDesc*
- BASECLASS
-
G.GadgetDesc
- POINTER
-
Radio
- DESCIPTION
-
(no description)
- METHODS
-
PROCEDURE IsIn(x,y : LONGINT):BOOLEAN;
-
- DESCRIPTION
-
(no description)
PROCEDURE Init*;
-
- DESCRIPTION
-
(no description)
PROCEDURE SetModel*(model : VOIntModel.IntModel; number : LONGINT);
-
- DESCRIPTION
-
(no description)
PROCEDURE CalcSize*(display : VODisplay.Display);
-
- DESCRIPTION
-
(no description)
PROCEDURE GetFocus*(event : VOEvent.Event):VOGUIObject.Object;
-
- DESCRIPTION
-
(no description)
PROCEDURE HandleEvent*(event : VOEvent.Event):BOOLEAN;
-
- DESCRIPTION
-
(no description)
PROCEDURE HandleFocusEvent*(event : VOEvent.KeyEvent):BOOLEAN;
-
- DESCRIPTION
-
(no description)
PROCEDURE Draw*(x,y : LONGINT; draw : VODisplay.DrawInfo);
-
- DESCRIPTION
-
(no description)
PROCEDURE DrawFocus*;
-
- DESCRIPTION
-
Draw the keyboard focus.
PROCEDURE HideFocus*;
-
- DESCRIPTION
-
Hide the keyboard focus.
PROCEDURE Resync*(model : VOObject.Model; msg : VOObject.ResyncMsg);
-
- DESCRIPTION
-
(no description)
PROCEDURE Receive*(message : VOObject.Message);
-
- DESCRIPTION
-
(no description)
PROCEDURE Hide*;
-
- DESCRIPTION
-
(no description)
- CLASSNAME
-
ClickedMsgDesc*
- BASECLASS
-
O.MessageDesc
- POINTER
-
ClickedMsg
- DESCIPTION
-
The PressedMsg generated everytime the button get clicked.
- MODULENAME
-
VOScale
- DESCRIPTION
-
A scale for numerical intervals.
- IMPORTS
-
VODisplay
VOGUIObject
VOPrefs
- CLASSNAME
-
PrefsDesc*
- BASECLASS
-
P.PrefsDesc
- POINTER
-
Prefs
- DESCIPTION
-
In this class all preferences stuff of the button is stored.
- CLASSNAME
-
ScaleDesc*
- BASECLASS
-
G.ImageDesc
- POINTER
-
Scale
- DESCIPTION
-
(no description)
- METHODS
-
PROCEDURE GetExp(number : LONGINT):LONGINT;
-
- DESCRIPTION
-
Calculates log10 number.
PROCEDURE Pow10(exp : LONGINT):LONGINT;
-
- DESCRIPTION
-
Calculates 10^exp
PROCEDURE Init*;
-
- DESCRIPTION
-
(no description)
PROCEDURE SetDirection*(vertical : BOOLEAN);
-
- DESCRIPTION
-
Define, if you want a vertical or horizontal scale.
PROCEDURE SetInterval*(from, to : LONGINT);
-
- DESCRIPTION
-
Set the range the scale should go. For example 0,100 for a procentual
scale.
PROCEDURE CalcSize*(display : VODisplay.Display);
-
- DESCRIPTION
-
(no description)
PROCEDURE Draw*(x,y : LONGINT; draw : VODisplay.DrawInfo);
-
- DESCRIPTION
-
(no description)
PROCEDURE Hide*;
-
- DESCRIPTION
-
(no description)
- MODULENAME
-
VOScroller
- DESCRIPTION
-
Implements horizontal and vertical scrollers.
- TODO
-
* Support for prior, next, home, end
- IMPORTS
-
VOButton
VODisplay
VOEvent
VOFrame
VOGUIObject
VOIntModel
VOObject
VOPrefs
VOUtil
VOVecImage
- CLASSNAME
-
PrefsDesc*
- BASECLASS
-
P.PrefsDesc
- POINTER
-
Prefs
- DESCIPTION
-
In this class all preferences stuff of the cycle is stored.
- METHODS
-
PROCEDURE Init*;
-
- DESCRIPTION
-
(no description)
- CLASSNAME
-
ScrollerDesc*
- BASECLASS
-
G.GadgetDesc
- POINTER
-
Scroller
- DESCIPTION
-
(no description)
- METHODS
-
PROCEDURE DrawKnob;
-
- DESCRIPTION
-
(no description)
PROCEDURE Init*;
-
- DESCRIPTION
-
(no description)
PROCEDURE Set*(vert : BOOLEAN);
-
- DESCRIPTION
-
(no description)
PROCEDURE SetOffset*(offset : LONGINT);
-
- DESCRIPTION
-
(no description)
PROCEDURE SetModel*(top, visible, total : VOIntModel.IntModel);
-
- DESCRIPTION
-
(no description)
PROCEDURE CalcSize*(display : VODisplay.Display);
-
- DESCRIPTION
-
(no description)
PROCEDURE GetFocus*(event : VOEvent.Event):VOGUIObject.Object;
-
- DESCRIPTION
-
(no description)
PROCEDURE HandleEvent*(event : VOEvent.Event):BOOLEAN;
-
- DESCRIPTION
-
(no description)
PROCEDURE HandleFocusEvent*(event : VOEvent.KeyEvent):BOOLEAN;
-
- DESCRIPTION
-
(no description)
PROCEDURE Receive*(message : VOObject.Message);
-
- DESCRIPTION
-
(no description)
PROCEDURE Draw*(x,y : LONGINT; draw : VODisplay.DrawInfo);
-
- DESCRIPTION
-
(no description)
PROCEDURE Hide*;
-
- DESCRIPTION
-
(no description)
PROCEDURE Resync*(model : VOObject.Model; msg : VOObject.ResyncMsg);
-
- DESCRIPTION
-
(no description)
- MODULENAME
-
VOSegment
- DESCRIPTION
-
A simple segment display.
- IMPORTS
-
VODisplay
VOGUIObject
VOUtil
Strings
- CLASSNAME
-
SegmentDesc*
- BASECLASS
-
G.ImageDesc
- POINTER
-
Segment
- DESCIPTION
-
(no description)
- METHODS
-
PROCEDURE Init*;
-
- DESCRIPTION
-
(no description)
PROCEDURE SetStringWidth*(width : LONGINT);
-
- DESCRIPTION
-
(no description)
PROCEDURE SetString*(string : ARRAY OF CHAR);
-
- DESCRIPTION
-
Set the new text to display. Redraws the object if its visible.
PROCEDURE StoreString*(string : ARRAY OF CHAR);
-
- DESCRIPTION
-
Set the new text to display widthout redrawing the object.
PROCEDURE SetForeground*(color : VODisplay.Color);
-
- DESCRIPTION
-
(no description)
PROCEDURE CalcSize*(display : VODisplay.Display);
-
- DESCRIPTION
-
(no description)
PROCEDURE Draw*(x,y : LONGINT; draw : VODisplay.DrawInfo);
-
- DESCRIPTION
-
(no description)
PROCEDURE Hide*;
-
- DESCRIPTION
-
(no description)
- MODULENAME
-
VOSegment7
- DESCRIPTION
-
A simple segment display.
- IMPORTS
-
- CLASSNAME
-
Segment7Desc*
- BASECLASS
-
G.ImageDesc
- POINTER
-
Segment7
- DESCIPTION
-
(no description)
- METHODS
-
PROCEDURE DrawSegment;
-
- DESCRIPTION
-
(no description)
PROCEDURE Init*;
-
- DESCRIPTION
-
(no description)
PROCEDURE SetOnColor*(color : VODisplay.Color);
-
- DESCRIPTION
-
(no description)
PROCEDURE SetOffColor*(color : VODisplay.Color);
-
- DESCRIPTION
-
(no description)
PROCEDURE SetValue*(value : LONGINT);
-
- DESCRIPTION
-
(no description)
PROCEDURE CalcSize*(display : VODisplay.Display);
-
- DESCRIPTION
-
(no description)
PROCEDURE Draw*(x,y : LONGINT; draw : VODisplay.DrawInfo);
-
- DESCRIPTION
-
(no description)
PROCEDURE Hide*;
-
- DESCRIPTION
-
(no description)
- MODULENAME
-
VOSlider
- DESCRIPTION
-
Implements horizontal and vertical sliders.
- TODO
-
* No highlighting of arrows, should change
- IMPORTS
-
VODisplay
VOEvent
VOFrame
VOGUIObject
VOIntModel
VOObject
VOScale
VOUtil
VOVecImage
- CLASSNAME
-
PrefsDesc*
- BASECLASS
-
G.PrefsDesc
- POINTER
-
Prefs
- DESCIPTION
-
In this class all preferences stuff of the button is stored.
- METHODS
-
PROCEDURE SetPrefs(s : Slider);
-
- DESCRIPTION
-
(no description)
PROCEDURE Init*;
-
- DESCRIPTION
-
(no description)
- CLASSNAME
-
SliderDesc*
- BASECLASS
-
G.GadgetDesc
- POINTER
-
Slider
- DESCIPTION
-
(no description)
- METHODS
-
PROCEDURE DrawKnob;
-
- DESCRIPTION
-
(no description)
PROCEDURE Init*;
-
- DESCRIPTION
-
(no description)
PROCEDURE Set*(vert : BOOLEAN);
-
- DESCRIPTION
-
Set the direction (horizontal or vertical) of the slider.
PROCEDURE UseScale*(use : BOOLEAN);
-
- DESCRIPTION
-
Define, if we should use a scale, or not..
PROCEDURE SetRange*(from,to : LONGINT);
-
- DESCRIPTION
-
Set the minimal and maximal value of the slider.
PROCEDURE SetModel*(pos : VOIntModel.IntModel);
-
- DESCRIPTION
-
Set the integer model to the slider. The slider will
always represent the value of the model.
PROCEDURE CalcSize*(display : VODisplay.Display);
-
- DESCRIPTION
-
(no description)
PROCEDURE GetFocus*(event : VOEvent.Event):VOGUIObject.Object;
-
- DESCRIPTION
-
(no description)
PROCEDURE HandleEvent*(event : VOEvent.Event):BOOLEAN;
-
- DESCRIPTION
-
(no description)
PROCEDURE HandleFocusEvent*(event : VOEvent.KeyEvent):BOOLEAN;
-
- DESCRIPTION
-
(no description)
PROCEDURE Draw*(x,y : LONGINT; draw : VODisplay.DrawInfo);
-
- DESCRIPTION
-
(no description)
PROCEDURE Hide*;
-
- DESCRIPTION
-
(no description)
PROCEDURE DrawFocus*;
-
- DESCRIPTION
-
(no description)
PROCEDURE HideFocus*;
-
- DESCRIPTION
-
(no description)
PROCEDURE Resync*(model : VOObject.Model; msg : VOObject.ResyncMsg);
-
- DESCRIPTION
-
(no description)
- CLASSNAME
-
MovedMsgDesc*
- BASECLASS
-
O.MessageDesc
- POINTER
-
MovedMsg
- DESCIPTION
-
The PressedMsg generated everytime the button get clicked.
- MODULENAME
-
VOSpace
- DESCRIPTION
-
Just some amount of invisible space hidden in the endless
number of dimensions of the univers.
- IMPORTS
-
- CLASSNAME
-
SpaceDesc*
- BASECLASS
-
G.ImageDesc
- POINTER
-
Space
- DESCIPTION
-
(no description)
- METHODS
-
PROCEDURE Init*;
-
- DESCRIPTION
-
(no description)
PROCEDURE Set*(vert : BOOLEAN; size : LONGINT);
-
- DESCRIPTION
-
(no description)
PROCEDURE CalcSize*(display : VODisplay.Display);
-
- DESCRIPTION
-
(no description)
PROCEDURE Draw*(x,y : LONGINT; draw : VODisplay.DrawInfo);
-
- DESCRIPTION
-
(no description)
PROCEDURE Hide*;
-
- DESCRIPTION
-
(no description)
- MODULENAME
-
VOString
- DESCRIPTION
-
Implements a textinput field. The string gadget is drag source and drop
destination.
- TODO
-
* Optimize redrawing to avoid flicker.
- IMPORTS
-
VODisplay
VODragDrop
VOEvent
VOFrame
VOGUIObject
VOIntModel
VOIntStrPipe
VOObject
VOPipe
VOPrefs
VORealModel
VORealStrPipe
VOStringModel
VOUtil
CharClass
Strings
- CLASSNAME
-
PrefsDesc*
- BASECLASS
-
P.PrefsDesc
- POINTER
-
Prefs
- DESCIPTION
-
In this class all preferences stuff of the button is stored.
- METHODS
-
PROCEDURE Init*;
-
- DESCRIPTION
-
(no description)
- CLASSNAME
-
StringDesc*
- BASECLASS
-
G.GadgetDesc
- POINTER
-
String
- DESCIPTION
-
(no description)
- METHODS
-
PROCEDURE GetCursorPos(x : LONGINT):LONGINT;
-
- DESCRIPTION
-
Sets the cursor under the mouse.
PROCEDURE Selected():BOOLEAN;
-
- DESCRIPTION
-
(no description)
PROCEDURE SetSelection(a,b : LONGINT);
-
- DESCRIPTION
-
(no description)
PROCEDURE ClearSelection;
-
- DESCRIPTION
-
(no description)
PROCEDURE DeleteSelection;
-
- DESCRIPTION
-
(no description)
PROCEDURE DrawText;
-
- DESCRIPTION
-
(no description)
PROCEDURE HandleKeys(event : VOEvent.KeyEvent):BOOLEAN;
-
- DESCRIPTION
-
(no description)
PROCEDURE Init*;
-
- DESCRIPTION
-
(no description)
PROCEDURE SetFont*(font : LONGINT);
-
- DESCRIPTION
-
Set a new font to be used by the string gadget.
PROCEDURE SetModel*(model : VOObject.Model);
-
- DESCRIPTION
-
Assign a string model to string gadget.
PROCEDURE SetStringWidth*(width,visWidth : LONGINT);
-
- DESCRIPTION
-
Set the maximum text with of string gadget and the visible with
of the string gadget in letters.
- NOTE
-
The with in letters will be estimated and thus the real width
may differ from the given one.
PROCEDURE SetStringAlignment*(a:Alignment);
-
- DESCRIPTION
-
Set the aligment for the text within the string object.
PROCEDURE CalcSize*(d : VODisplay.Display);
-
- DESCRIPTION
-
(no description)
PROCEDURE GetDnDObject*(x,y : LONGINT; drag : BOOLEAN):VOGUIObject.Object;
-
- DESCRIPTION
-
Returns the object that coveres the given point and that supports
drag and drop of data.
If drag is TRUE, when want to find a object that we can drag data from,
else we want an object to drop data on.
PROCEDURE GetDragInfo*(VAR dragInfo : VODragDrop.DnDDataInfo);
-
- DESCRIPTION
-
Return a list of supported datatypes.
PROCEDURE GetDropDataType*(VAR dragInfo : VODragDrop.DnDDataInfo; VAR group, type, action : LONGINT):BOOLEAN;
-
- DESCRIPTION
-
The object gets a list of supported datatypes of the drag object and
has to choose one of them. If there is no fitting datatype it must return
FALSE.
PROCEDURE GetDragData*(group, type, action : LONGINT):VODragDrop.DnDData;
-
- DESCRIPTION
-
Called if we want to get the drag & drop data from the object.
data will we garanted to be initialized.
PROCEDURE HandleDrop*(data : VODragDrop.DnDData; action : LONGINT):BOOLEAN;
-
- DESCRIPTION
-
(no description)
PROCEDURE Deselect*;
-
- DESCRIPTION
-
Clear the current selection.
PROCEDURE GetFocus*(event : VOEvent.Event):VOGUIObject.Object;
-
- DESCRIPTION
-
(no description)
PROCEDURE HandleEvent*(event : VOEvent.Event):BOOLEAN;
-
- DESCRIPTION
-
(no description)
PROCEDURE DrawFocus*;
-
- DESCRIPTION
-
Called, when you got the keyboard focus.
PROCEDURE HideFocus*;
-
- DESCRIPTION
-
Call, when the keyboard focus has been taken away from you.
PROCEDURE HandleFocusEvent*(event : VOEvent.KeyEvent):BOOLEAN;
-
- DESCRIPTION
-
(no description)
PROCEDURE Draw*(x,y : LONGINT; draw : VODisplay.DrawInfo);
-
- DESCRIPTION
-
(no description)
PROCEDURE Hide*;
-
- DESCRIPTION
-
(no description)
PROCEDURE Resync*(model : VOObject.Model; msg : VOObject.ResyncMsg);
-
- DESCRIPTION
-
(no description)
- CLASSNAME
-
EnteredMsgDesc*
- BASECLASS
-
O.MessageDesc
- POINTER
-
EnteredMsg
- DESCIPTION
-
(no description)
- CLASSNAME
-
EscapeMsgDesc*
- BASECLASS
-
O.MessageDesc
- POINTER
-
EscapeMsg
- DESCIPTION
-
(no description)
- MODULENAME
-
VOStringClock
- DESCRIPTION
-
A nice digital clock, to be placed everywhere you like.
- IMPORTS
-
VODisplay
VOEvent
VOGUIObject
VOObject
Calendar
SysClock
- CLASSNAME
-
StringClockDesc*
- BASECLASS
-
G.GadgetDesc
- POINTER
-
StringClock
- DESCIPTION
-
(no description)
- METHODS
-
PROCEDURE Init*;
-
- DESCRIPTION
-
(no description)
PROCEDURE SetForeground*(color : VODisplay.Color);
-
- DESCRIPTION
-
(no description)
PROCEDURE CalcSize*(display : VODisplay.Display);
-
- DESCRIPTION
-
(no description)
PROCEDURE GetFocus*(event : VOEvent.Event):VOGUIObject.Object;
-
- DESCRIPTION
-
This method gets called when the window gets an event and looks for
someone that processes it.
If GetFocus return an object, that objets HandleEvent-method
get called untill it gives away the focus.
PROCEDURE HandleEvent*(event : VOEvent.Event):BOOLEAN;
-
- DESCRIPTION
-
Handles all events after GetFocus catched the focus for us.
PROCEDURE Draw*(x,y : LONGINT; draw : VODisplay.DrawInfo);
-
- DESCRIPTION
-
(no description)
PROCEDURE Hide*;
-
- DESCRIPTION
-
(no description)
PROCEDURE Receive*(msg : VOObject.Message);
-
- DESCRIPTION
-
(no description)
- MODULENAME
-
VOTable
- DESCRIPTION
-
A table object displaying data in scrollable grid.
- IMPORTS
-
VODisplay
VOEvent
VOFrame
VOGUIObject
VOIntModel
VOObject
VOPrefs
VOScroller
VOText
VOTableModel
VOUtil
Strings
- CLASSNAME
-
PrefsDesc*
- BASECLASS
-
P.PrefsDesc
- POINTER
-
Prefs
- DESCIPTION
-
In this class all preferences stuff of the button is stored.
- METHODS
-
PROCEDURE Init*;
-
- DESCRIPTION
-
(no description)
- CLASSNAME
-
DrawInfoDesc*
- BASECLASS
-
(no base)
- POINTER
-
(no pointer)
- DESCIPTION
-
Object handed to the RedrawCell/RedrawRow methods.
- CLASSNAME
-
TableDesc*
- BASECLASS
-
G.GadgetDesc
- POINTER
-
Table
- DESCIPTION
-
(no description)
- METHODS
-
PROCEDURE CalcCol;
-
- DESCRIPTION
-
Caculate width and height of the columns. Create a textobject for
column header if necessary.
PROCEDURE RedrawRow(y : LONGINT);
-
- DESCRIPTION
-
Redraw the given row if visible.
PROCEDURE RedrawCell(x,y : LONGINT);
-
- DESCRIPTION
-
Redraw the given cell if visible.
PROCEDURE DrawHeader;
-
- DESCRIPTION
-
Draw the column headers
PROCEDURE DrawText(header : BOOLEAN);
-
- DESCRIPTION
-
Redraw complete table. Redraw header, too, if header=TRUE.
PROCEDURE GetCell(mx,my : LONGINT; VAR x,y : LONGINT):BOOLEAN;
-
- DESCRIPTION
-
Return the cell under the given coordinates. Returns FALSE if there is no
cell at the gien position.
PROCEDURE HandleKeys(event : VOEvent.KeyEvent):BOOLEAN;
-
- DESCRIPTION
-
(no description)
PROCEDURE ReInit;
-
- DESCRIPTION
-
Completely reinitialize the table.
PROCEDURE Init*;
-
- DESCRIPTION
-
(no description)
PROCEDURE SetSelectionType*(type : LONGINT);
-
- DESCRIPTION
-
Set the type of selection. Current supported are:
cellSelect - select an individual cell
singleRowSelect - select one row
PROCEDURE CalcSize*(display : VODisplay.Display);
-
- DESCRIPTION
-
(no description)
PROCEDURE DrawCell*(VAR info : DrawInfoDesc);
-
- DESCRIPTION
-
DrawCell is responsible of drawing a single cell. You must always render the text given
info info. You must also render the background, depending of the selete flag set or not,
if background is set.
PROCEDURE DrawRow*(VAR info : DrawInfoDesc);
-
- DESCRIPTION
-
DrawRow is responsible for drawing the frame or the background of a complete row.
Currently you must draw the background if background is set in flags depending
of selected beeing set or not.
PROCEDURE MakeVisible*(x,y : LONGINT);
-
- DESCRIPTION
-
Make the given cell visible. Handle an negative number, if the you want
the method to ignore the column or row.
PROCEDURE GetFocus*(event : VOEvent.Event):VOGUIObject.Object;
-
- DESCRIPTION
-
(no description)
PROCEDURE HandleEvent*(event : VOEvent.Event):BOOLEAN;
-
- DESCRIPTION
-
(no description)
PROCEDURE HandleFocusEvent*(event : VOEvent.KeyEvent):BOOLEAN;
-
- DESCRIPTION
-
(no description)
PROCEDURE SetModel*(model : VOTableModel.TableModel);
-
- DESCRIPTION
-
The the table model for the table object.
PROCEDURE Draw*(x,y : LONGINT; draw : VODisplay.DrawInfo);
-
- DESCRIPTION
-
(no description)
PROCEDURE Hide*;
-
- DESCRIPTION
-
(no description)
PROCEDURE DrawFocus*;
-
- DESCRIPTION
-
Draw the keyboard focus.
PROCEDURE HideFocus*;
-
- DESCRIPTION
-
Hide the keyboard focus.
PROCEDURE Resync*(model : VOObject.Model; msg : VOObject.ResyncMsg);
-
- DESCRIPTION
-
(no description)
- MODULENAME
-
VOText
- DESCRIPTION
-
Multiline formatted text. The text is draggable.
- TODO
-
* Rethink integration of U.EscapeString into Text
- IMPORTS
-
VODisplay
VODragDrop
VOFrame
VOGUIObject
VOUtil
VOVecImage
Ascii
Strings
- FUNCTIONS
-
PROCEDURE MakeLeftText*(string : ARRAY OF CHAR):Text;
-
- DESCRIPTION
-
(no description)
PROCEDURE MakeCenterText*(string : ARRAY OF CHAR):Text;
-
- DESCRIPTION
-
(no description)
- CLASSNAME
-
PrefsDesc*
- BASECLASS
-
G.PrefsDesc
- POINTER
-
Prefs
- DESCIPTION
-
In this class all preferences stuff of the button is stored.
- METHODS
-
PROCEDURE SetPrefs(t : Text);
-
- DESCRIPTION
-
(no description)
PROCEDURE Init*;
-
- DESCRIPTION
-
(no description)
- CLASSNAME
-
TextDesc*
- BASECLASS
-
G.ImageDesc
- POINTER
-
Text
- DESCIPTION
-
(no description)
- METHODS
-
PROCEDURE AppendLine(l : Line);
-
- DESCRIPTION
-
(no description)
PROCEDURE CloseLine;
-
- DESCRIPTION
-
(no description)
PROCEDURE NewLine;
-
- DESCRIPTION
-
(no description)
PROCEDURE AddTextToPart(text : ARRAY OF CHAR; start, stop : LONGINT);
-
- DESCRIPTION
-
(no description)
PROCEDURE SetJustification(type : SHORTINT);
-
- DESCRIPTION
-
(no description)
PROCEDURE Init*;
-
- DESCRIPTION
-
(no description)
PROCEDURE GetDnDObject*(x,y : LONGINT; drag : BOOLEAN):VOGUIObject.Object;
-
- DESCRIPTION
-
Returns the object that coveres the given point and that supports
drag and drop of data.
If drag is TRUE, when want to find a object that we can drag data from,
else we want an object to drop data on.
PROCEDURE GetDragInfo*(VAR dragInfo : VODragDrop.DnDDataInfo);
-
- DESCRIPTION
-
Return a list of supported datatypes
PROCEDURE GetDragData*(group, type, action : LONGINT):VODragDrop.DnDData;
-
- DESCRIPTION
-
Called if we want to get the drag & drop data from the object.
data will we garanted to be initialized.
PROCEDURE CalcTextSize*(display : VODisplay.Display);
-
- DESCRIPTION
-
(no description)
PROCEDURE SetText*(text : ARRAY OF CHAR);
-
- DESCRIPTION
-
(no description)
PROCEDURE SetDefault*(adjustment : SHORTINT; drawMode : SET; font : LONGINT);
-
- DESCRIPTION
-
(no description)
PROCEDURE CalcSize*(display : VODisplay.Display);
-
- DESCRIPTION
-
(no description)
PROCEDURE Draw*(x,y : LONGINT; draw : VODisplay.DrawInfo);
-
- DESCRIPTION
-
(no description)
PROCEDURE DrawFocus*;
-
- DESCRIPTION
-
(no description)
PROCEDURE HideFocus*;
-
- DESCRIPTION
-
(no description)
PROCEDURE Hide*;
-
- DESCRIPTION
-
(no description)
- MODULENAME
-
VOTextView
- DESCRIPTION
-
A gadget, that displays text offered by a derived class from TextViewModel.
- IMPORTS
-
VODisplay
VOFrame
VOGUIObject
VOIntModel
VOObject
VOTextViewModel
- CLASSNAME
-
TextViewDesc*
- BASECLASS
-
G.ImageDesc
- POINTER
-
TextView
- DESCIPTION
-
(no description)
- METHODS
-
PROCEDURE Init*;
-
- DESCRIPTION
-
(no description)
PROCEDURE SetModel*(model : VOTextViewModel.TextModel);
-
- DESCRIPTION
-
(no description)
PROCEDURE CalcSize*(display :VODisplay.Display);
-
- DESCRIPTION
-
(no description)
PROCEDURE Draw*(x,y : LONGINT; draw : VODisplay.DrawInfo);
-
- DESCRIPTION
-
(no description)
PROCEDURE Hide*;
-
- DESCRIPTION
-
(no description)
PROCEDURE Resync*(model : VOObject.Model; msg : VOObject.ResyncMsg);
-
- DESCRIPTION
-
(no description)
PROCEDURE ShowBottom*;
-
- DESCRIPTION
-
(no description)
- MODULENAME
-
VOTree
- DESCRIPTION
-
A tree object displaying simple tree-like data.
- IMPORTS
-
VODisplay
VOEvent
VOFrame
VOGUIObject
VOIntModel
VOObject
VOScroller
VOTreeModel
VOUtil
Strings
- CLASSNAME
-
TreeDesc*
- BASECLASS
-
G.GadgetDesc
- POINTER
-
Tree
- DESCIPTION
-
(no description)
- METHODS
-
PROCEDURE GetClickedEntryPos(y : LONGINT):LONGINT;
-
- DESCRIPTION
-
(no description)
PROCEDURE MakeVisible(y : LONGINT);
-
- DESCRIPTION
-
(no description)
PROCEDURE DrawItem(item : VOTreeModel.TreeItem; VAR y : LONGINT; offset : LONGINT; goUp : BOOLEAN);
-
- DESCRIPTION
-
(no description)
PROCEDURE DrawTree;
-
- DESCRIPTION
-
(no description)
PROCEDURE HandleClick(event : VOEvent.MouseEvent);
-
- DESCRIPTION
-
(no description)
PROCEDURE HandleKeys(event : VOEvent.KeyEvent):BOOLEAN;
-
- DESCRIPTION
-
(no description)
PROCEDURE ReInit;
-
- DESCRIPTION
-
(no description)
PROCEDURE Init*;
-
- DESCRIPTION
-
(no description)
PROCEDURE CalcSize*(display : VODisplay.Display);
-
- DESCRIPTION
-
(no description)
PROCEDURE GetFocus*(event : VOEvent.Event):VOGUIObject.Object;
-
- DESCRIPTION
-
(no description)
PROCEDURE HandleEvent*(event : VOEvent.Event):BOOLEAN;
-
- DESCRIPTION
-
(no description)
PROCEDURE HandleFocusEvent*(event : VOEvent.KeyEvent):BOOLEAN;
-
- DESCRIPTION
-
(no description)
PROCEDURE SetModel*(model : VOTreeModel.TreeModel);
-
- DESCRIPTION
-
(no description)
PROCEDURE Draw*(x,y : LONGINT; draw : VODisplay.DrawInfo);
-
- DESCRIPTION
-
(no description)
PROCEDURE Hide*;
-
- DESCRIPTION
-
(no description)
PROCEDURE DrawFocus*;
-
- DESCRIPTION
-
Draw the keyboard focus.
PROCEDURE HideFocus*;
-
- DESCRIPTION
-
Hide the keyboard focus.
PROCEDURE Resync*(model : VOObject.Model; msg : VOObject.ResyncMsg);
-
- DESCRIPTION
-
(no description)
- CLASSNAME
-
SelectedMsgDesc*
- BASECLASS
-
O.MessageDesc
- POINTER
-
SelectedMsg
- DESCIPTION
-
(no description)
- MODULENAME
-
VOVecImage
- DESCRIPTION
-
Implements scaleable images. If you have a nice scaleable image that
maybe widly used, add it here.
- TODO
-
* More images, make existing images nicer
- IMPORTS
-
VODisplay
VOGUIObject
VOUtil
- FUNCTIONS
-
PROCEDURE GetImageEntry*(name : ARRAY OF CHAR):LONGINT;
-
- DESCRIPTION
-
(no description)
- CLASSNAME
-
VecImageDesc*
- BASECLASS
-
G.ImageDesc
- POINTER
-
VecImage
- DESCIPTION
-
(no description)
- METHODS
-
PROCEDURE DrawRectangle(x,y,w,h : LONGINT; in : BOOLEAN);
-
- DESCRIPTION
-
(no description)
PROCEDURE Set*(type : LONGINT);
-
- DESCRIPTION
-
(no description)
PROCEDURE CalcSize*(display : VODisplay.Display);
-
- DESCRIPTION
-
(no description)
PROCEDURE Draw*(x,y : LONGINT; draw : VODisplay.DrawInfo);
-
- DESCRIPTION
-
(no description)
PROCEDURE Hide*;
-
- DESCRIPTION
-
(no description)
PROCEDURE DrawFocus*;
-
- DESCRIPTION
-
(no description)
PROCEDURE HideFocus*;
-
- DESCRIPTION
-
(no description)
- MODULENAME
-
VOWireFrame
- DESCRIPTION
-
A simple test for the bitmap feature of VisualOberon. We implement
a simple wire frame engine. When visible the objects will be rotated
automatically around 0-0-0. We use a simple double buffering algorithm
for displaying.
- TODO
-
Implement a similar engine with filled polygons and some lightsourcing
stuff. We must investigate 3D clipping algorithms for this. We could
also implement a simple doom-like engine ;-) (Year, look at VODoom.Mod)
- BUGS
-
If the 2 dimentional plane the image will be projected to is within the
created object a line behind the plane will be projected in front of the
plane.
- IMPORTS
-
VODisplay
VOGUIObject
VOObject
RealMath
- CLASSNAME
-
WireFrameDesc*
- BASECLASS
-
G.ImageDesc
- POINTER
-
WireFrame
- DESCIPTION
-
(no description)
- METHODS
-
PROCEDURE DrawBox(rotate : BOOLEAN);
-
- DESCRIPTION
-
(no description)
PROCEDURE Init*;
-
- DESCRIPTION
-
(no description)
PROCEDURE AddLine*(x1,y1,z1,x2,y2,z2 : REAL);
-
- DESCRIPTION
-
Add a line to be displayed to the engine.
PROCEDURE SetViewer*(x,y,z,bz : REAL);
-
- DESCRIPTION
-
Set the position of the viwer and the distance in z-direction of the
projection plane from the 0 point.
PROCEDURE CalcSize*(display : VODisplay.Display);
-
- DESCRIPTION
-
(no description)
PROCEDURE Draw*(x,y : LONGINT; draw : VODisplay.DrawInfo);
-
- DESCRIPTION
-
(no description)
PROCEDURE Hide*;
-
- DESCRIPTION
-
(no description)
PROCEDURE Receive*(msg : VOObject.Message);
-
- DESCRIPTION
-
(no description)
PROCEDURE Free*;
-
- DESCRIPTION
-
(no description)
- MODULENAME
-
VOXpmImage
- DESCRIPTION
-
This module implements loading and displaying of xpm images using the
widly spread xpmlib.
- IMPORTS
-
SYSTEM
VODisplay
VOGUIObject
VOUtil
C
Err
Strings
X11
xpm
- FUNCTIONS
-
PROCEDURE PrintError(err : LONGINT);
-
- DESCRIPTION
-
(no description)
- CLASSNAME
-
XpmImageDesc*
- BASECLASS
-
G.ImageDesc
- POINTER
-
XpmImage
- DESCIPTION
-
(no description)
- METHODS
-
PROCEDURE Init*;
-
- DESCRIPTION
-
Initialized the object. Must be called.
PROCEDURE SetAlignment*(horiz, vert : LONGINT);
-
- DESCRIPTION
-
Set the alignment of the image within the image area.
See VOGUIObject for alignments supported.
PROCEDURE SetFilename*(name : ARRAY OF CHAR);
-
- DESCRIPTION
-
Set the filename of the image. Must be set before use.
PROCEDURE SetMode*(mode : LONGINT);
-
- DESCRIPTION
-
Set the mode of the object.
* plainMode
Uses the fillColor when selecting.
* buttonMode
draw the image a little bit more left and down on select, so one gets
a 3D feal when selecting-
PROCEDURE CalcSize*(display : VODisplay.Display);
-
- DESCRIPTION
-
(no description)
PROCEDURE Draw*(x,y : LONGINT; draw : VODisplay.DrawInfo);
-
- DESCRIPTION
-
(no description)
PROCEDURE Hide*;
-
- DESCRIPTION
-
(no description)
PROCEDURE Free*;
-
- DESCRIPTION
-
Must be called before image gets lost in the undergrounds of the
garbarge collector or you possibly get memory leaks.
- MODULENAME
-
VOArray
- DESCRIPTION
-
A layout group, that arranges all it children in an two-dimensional
array.
- IMPORTS
-
- FUNCTIONS
-
PROCEDURE Count(Zahl, Div : LONGINT):LONGINT;
-
- DESCRIPTION
-
(no description)
- CLASSNAME
-
PrefsDesc*
- BASECLASS
-
G.PrefsDesc
- POINTER
-
Prefs
- DESCIPTION
-
In this class all preferences stuff of the array is stored.
- METHODS
-
PROCEDURE SetPrefs(a : Array);
-
- DESCRIPTION
-
(no description)
- CLASSNAME
-
ArrayDesc*
- BASECLASS
-
G.GroupDesc
- POINTER
-
Array
- DESCIPTION
-
(no description)
- METHODS
-
PROCEDURE Init*;
-
- DESCRIPTION
-
(no description)
PROCEDURE Set*(count : LONGINT; horiz : BOOLEAN);
-
- DESCRIPTION
-
(no description)
PROCEDURE SetSpace*(horiz, vert : BOOLEAN);
-
- DESCRIPTION
-
(no description)
PROCEDURE CalcSize*(display : VODisplay.Display);
-
- DESCRIPTION
-
(no description)
PROCEDURE Draw*(x,y : LONGINT; draw : VODisplay.DrawInfo);
-
- DESCRIPTION
-
(no description)
PROCEDURE Hide*;
-
- DESCRIPTION
-
(no description)
- MODULENAME
-
VOButtonRow
- DESCRIPTION
-
A layout group, that layouts a number of buttons horizontaly.
- IMPORTS
-
- CLASSNAME
-
PrefsDesc*
- BASECLASS
-
G.PrefsDesc
- POINTER
-
Prefs
- DESCIPTION
-
In this class all preferences stuff of the button row is stored.
- METHODS
-
PROCEDURE SetPrefs(b : ButtonRow);
-
- DESCRIPTION
-
(no description)
PROCEDURE Init*;
-
- DESCRIPTION
-
(no description)
- CLASSNAME
-
ButtonRowDesc*
- BASECLASS
-
G.GroupDesc
- POINTER
-
ButtonRow
- DESCIPTION
-
(no description)
- METHODS
-
PROCEDURE Init*;
-
- DESCRIPTION
-
(no description)
PROCEDURE CalcSize*(display : VODisplay.Display);
-
- DESCRIPTION
-
(no description)
PROCEDURE Draw*(x,y : LONGINT; draw : VODisplay.DrawInfo);
-
- DESCRIPTION
-
(no description)
PROCEDURE Hide*;
-
- DESCRIPTION
-
(no description)
- MODULENAME
-
VOFrameGroup
- DESCRIPTION
-
a group object that puts a free defineable frame around its
single child object.
- IMPORTS
-
VODisplay
VOFrame
VOGUIObject
VOText
VOUtil
- CLASSNAME
-
PrefsDesc*
- BASECLASS
-
G.PrefsDesc
- POINTER
-
Prefs
- DESCIPTION
-
In this class all preferences stuff of the button is stored.
- METHODS
-
PROCEDURE SetPrefs(f : FrameGroup);
-
- DESCRIPTION
-
(no description)
PROCEDURE Init*;
-
- DESCRIPTION
-
(no description)
- CLASSNAME
-
FrameGroupDesc*
- BASECLASS
-
G.GroupDesc
- POINTER
-
FrameGroup
- DESCIPTION
-
(no description)
- METHODS
-
PROCEDURE Init*;
-
- DESCRIPTION
-
(no description)
PROCEDURE Add*(object : VOGUIObject.Object);
-
- DESCRIPTION
-
(no description)
PROCEDURE SetFrame*(type : INTEGER);
-
- DESCRIPTION
-
(no description)
PROCEDURE SetSpace*(horizValue, horizType, vertValue, vertType : LONGINT);
-
- DESCRIPTION
-
Set the space beween the frame and its contens in percent. Default to
value=100 and type=VOGUIObject.spaceFontRel.
- NOTE
-
VOGUIObject.sizeScreenRel is not supported.
PROCEDURE SetLabel*(object : VOGUIObject.Object);
-
- DESCRIPTION
-
(no description)
PROCEDURE SetTextLabel*(string : ARRAY OF CHAR);
-
- DESCRIPTION
-
(no description)
PROCEDURE CalcSize*(display : VODisplay.Display);
-
- DESCRIPTION
-
(no description)
PROCEDURE Draw*(x,y : LONGINT; draw : VODisplay.DrawInfo);
-
- DESCRIPTION
-
(no description)
PROCEDURE Refresh*(x,y,w,h : LONGINT);
-
- DESCRIPTION
-
(no description)
PROCEDURE Hide*;
-
- DESCRIPTION
-
(no description)
- MODULENAME
-
VOLabel
- DESCRIPTION
-
A groupclass that places nicely formated textlabels (or any other
object) to the left of a vertical list of objects.
- IMPORTS
-
VODisplay
VOGUIObject
VOText
VOUtil
- CLASSNAME
-
PrefsDesc*
- BASECLASS
-
G.PrefsDesc
- POINTER
-
Prefs
- DESCIPTION
-
In this class all preferences stuff of the button row is stored.
- METHODS
-
PROCEDURE SetPrefs(l : Label);
-
- DESCRIPTION
-
(no description)
PROCEDURE Init*;
-
- DESCRIPTION
-
(no description)
- CLASSNAME
-
LabelDesc*
- BASECLASS
-
G.GroupDesc
- POINTER
-
Label
- DESCIPTION
-
(no description)
- METHODS
-
PROCEDURE Init*;
-
- DESCRIPTION
-
(no description)
PROCEDURE AddLabel*(text, object : VOGUIObject.Object);
-
- DESCRIPTION
-
Add a label entry to label group. A label entry consists of two objects. One
object is the label for the other.
PROCEDURE AddTextLabel*(string : ARRAY OF CHAR; object : VOGUIObject.Object);
-
- DESCRIPTION
-
Add a textual label entry. The label object will generate a text object out of
the given string and will then assign it as label object to the other object.
PROCEDURE Set*(labelFlex : BOOLEAN);
-
- DESCRIPTION
-
Tell, if the label object should stretch the label or the object when beeing resized
horizontally.
PROCEDURE CalcSize*(display : VODisplay.Display);
-
- DESCRIPTION
-
(no description)
PROCEDURE Resize*(width,height : LONGINT);
-
- DESCRIPTION
-
(no description)
PROCEDURE Draw*(x,y : LONGINT; draw : VODisplay.DrawInfo);
-
- DESCRIPTION
-
(no description)
PROCEDURE Refresh*(x,y,w,h : LONGINT);
-
- DESCRIPTION
-
(no description)
PROCEDURE Hide*;
-
- DESCRIPTION
-
(no description)
PROCEDURE GetPosObject*(x,y : LONGINT; type : LONGINT):VOGUIObject.Object;
-
- DESCRIPTION
-
(no description)
PROCEDURE GetDnDObject*(x,y : LONGINT; drag : BOOLEAN):VOGUIObject.Object;
-
- DESCRIPTION
-
(no description)
- MODULENAME
-
VOMulti
- DESCRIPTION
-
Implements a tab groupobject.
- TODO
-
* Hide is suboptimal.
- IMPORTS
-
VODisplay
VOEvent
VOGUIObject
VOObject
- CLASSNAME
-
PrefsDesc*
- BASECLASS
-
G.PrefsDesc
- POINTER
-
Prefs
- DESCIPTION
-
In this class all preferences stuff of the button is stored.
- METHODS
-
PROCEDURE SetPrefs(m : Multi);
-
- DESCRIPTION
-
(no description)
- CLASSNAME
-
MultiDesc*
- BASECLASS
-
G.GroupDesc
- POINTER
-
Multi
- DESCIPTION
-
(no description)
- METHODS
-
PROCEDURE GetEntry(count :LONGINT): VOGUIObject.Object;
-
- DESCRIPTION
-
(no description)
PROCEDURE Init*;
-
- DESCRIPTION
-
(no description)
PROCEDURE CalcSize*(display : VODisplay.Display);
-
- DESCRIPTION
-
(no description)
PROCEDURE SetEntry*(pos : LONGINT);
-
- DESCRIPTION
-
Set the nth entry the multi object should display.
PROCEDURE GetFocus*(event : VOEvent.Event):VOGUIObject.Object;
-
- DESCRIPTION
-
(no description)
PROCEDURE Draw*(x,y : LONGINT; draw : VODisplay.DrawInfo);
-
- DESCRIPTION
-
(no description)
PROCEDURE Refresh*(x,y,w,h : LONGINT);
-
- DESCRIPTION
-
(no description)
PROCEDURE Hide*;
-
- DESCRIPTION
-
(no description)
PROCEDURE Receive*(message : VOObject.Message);
-
- DESCRIPTION
-
The Handler for messages from user and other objects
- CLASSNAME
-
SetMsgDesc*
- BASECLASS
-
O.MessageDesc
- POINTER
-
SetMsg
- DESCIPTION
-
(no description)
- MODULENAME
-
VOPanel
- DESCRIPTION
-
A layouting class for grouping objects horizontaly or verticaly.
Does some complex resizing operations to make the arrangement
of its children look lice.
- IMPORTS
-
VODisplay
VOGUIObject
VOUtil
- CLASSNAME
-
PrefsDesc*
- BASECLASS
-
G.PrefsDesc
- POINTER
-
Prefs
- DESCIPTION
-
In this class all preferences stuff of the button is stored.
- METHODS
-
PROCEDURE SetPrefs(pa : Panel);
-
- DESCRIPTION
-
(no description)
- CLASSNAME
-
PanelDesc*
- BASECLASS
-
G.GroupDesc
- POINTER
-
Panel
- DESCIPTION
-
(no description)
- METHODS
-
PROCEDURE Init*;
-
- DESCRIPTION
-
(no description)
PROCEDURE Set*(type : LONGINT);
-
- DESCRIPTION
-
Set the direction (horizontal or vertical) of the panel.
PROCEDURE CalcSize*(display : VODisplay.Display);
-
- DESCRIPTION
-
(no description)
PROCEDURE Draw*(x,y : LONGINT; draw : VODisplay.DrawInfo);
-
- DESCRIPTION
-
(no description)
PROCEDURE Refresh*(x,y,w,h : LONGINT);
-
- DESCRIPTION
-
(no description)
PROCEDURE Hide*;
-
- DESCRIPTION
-
(no description)
- MODULENAME
-
VOPane
- DESCRIPTION
-
A layouting class for grouping objects horizontaly or verticaly.
The size of the objects can be changed by some sliders.
- IMPORTS
-
VODisplay
VOEvent
VOGUIObject
VOPrefs
VOVecImage
- CLASSNAME
-
PrefsDesc*
- BASECLASS
-
P.PrefsDesc
- POINTER
-
Prefs
- DESCIPTION
-
In this class all preferences stuff of the button is stored.
- METHODS
-
PROCEDURE Init*;
-
- DESCRIPTION
-
(no description)
- CLASSNAME
-
PaneDesc*
- BASECLASS
-
G.GroupDesc
- POINTER
-
Pane
- DESCIPTION
-
(no description)
- METHODS
-
PROCEDURE MoveObjects(o1,o2,mover : VOGUIObject.Object; pos : LONGINT);
-
- DESCRIPTION
-
(no description)
PROCEDURE DrawSelection(mode : INTEGER; x,y : LONGINT);
-
- DESCRIPTION
-
(no description)
PROCEDURE Init*;
-
- DESCRIPTION
-
(no description)
PROCEDURE Set*(type : LONGINT);
-
- DESCRIPTION
-
Tell if the objects should be arranged horizontally or vertically.
PROCEDURE Add*(object : VOGUIObject.Object);
-
- DESCRIPTION
-
Add an object to the group. Pane will add mover objects automatically
when appropiate.
PROCEDURE CalcSize*(display : VODisplay.Display);
-
- DESCRIPTION
-
(no description)
PROCEDURE GetFocus*(event : VOEvent.Event):VOGUIObject.Object;
-
- DESCRIPTION
-
(no description)
PROCEDURE HandleEvent*(event : VOEvent.Event):BOOLEAN;
-
- DESCRIPTION
-
(no description)
PROCEDURE Draw*(x,y : LONGINT; draw : VODisplay.DrawInfo);
-
- DESCRIPTION
-
(no description)
PROCEDURE Refresh*(x,y,w,h : LONGINT);
-
- DESCRIPTION
-
(no description)
PROCEDURE Hide*;
-
- DESCRIPTION
-
(no description)
- MODULENAME
-
VOPlate
- DESCRIPTION
-
A simple group with one child. The group just puts a
little bit, defineable space around the object. Usefull,
if you want an object enbedded with a little space and
with background color set.
- IMPORTS
-
- CLASSNAME
-
PlateDesc*
- BASECLASS
-
G.GroupDesc
- POINTER
-
Plate
- DESCIPTION
-
(no description)
- METHODS
-
PROCEDURE Init*;
-
- DESCRIPTION
-
(no description)
PROCEDURE Add*(object : VOGUIObject.Object);
-
- DESCRIPTION
-
Add the object to present.
- NOTE
-
Plate only support one object. Repeatetly calling
add will overwrite this object with the new one.
PROCEDURE SetSpace*(horizValue, horizType, vertValue, vertType : LONGINT);
-
- DESCRIPTION
-
Set the space beween the frame and its contens in percent. Default to
Display.spaceWidth and Display.spaceHeight.
PROCEDURE CalcSize*(display : VODisplay.Display);
-
- DESCRIPTION
-
(no description)
PROCEDURE Draw*(x,y : LONGINT; draw : VODisplay.DrawInfo);
-
- DESCRIPTION
-
(no description)
PROCEDURE Refresh*(x,y,w,h : LONGINT);
-
- DESCRIPTION
-
(no description)
PROCEDURE Hide*;
-
- DESCRIPTION
-
(no description)
- MODULENAME
-
VOStatusLine
- DESCRIPTION
-
Implements a statusline group object.
- IMPORTS
-
VODisplay
VOFrame
VOGUIObject
VOUtil
- CLASSNAME
-
PrefsDesc*
- BASECLASS
-
G.PrefsDesc
- POINTER
-
Prefs
- DESCIPTION
-
In this class all preferences stuff is stored.
- METHODS
-
PROCEDURE SetPrefs(s : StatusLine);
-
- DESCRIPTION
-
(no description)
PROCEDURE Init*;
-
- DESCRIPTION
-
(no description)
- CLASSNAME
-
StatusLineDesc*
- BASECLASS
-
G.GroupDesc
- POINTER
-
StatusLine
- DESCIPTION
-
(no description)
- METHODS
-
PROCEDURE Init*;
-
- DESCRIPTION
-
(no description)
PROCEDURE CalcSize*(display : VODisplay.Display);
-
- DESCRIPTION
-
(no description)
PROCEDURE Draw*(x,y : LONGINT; draw : VODisplay.DrawInfo);
-
- DESCRIPTION
-
(no description)
PROCEDURE Refresh*(x,y,w,h : LONGINT);
-
- DESCRIPTION
-
(no description)
PROCEDURE Hide*;
-
- DESCRIPTION
-
(no description)
- MODULENAME
-
VOTab
- DESCRIPTION
-
Implements a tab groupobject.
- TODO
-
* Hide is suboptimal.
- IMPORTS
-
VODisplay
VOEvent
VOGUIObject
VOObject
- CLASSNAME
-
PrefsDesc*
- BASECLASS
-
G.PrefsDesc
- POINTER
-
Prefs
- DESCIPTION
-
In this class all preferences stuff of the button is stored.
- METHODS
-
PROCEDURE SetPrefs(t : Tab);
-
- DESCRIPTION
-
(no description)
PROCEDURE Init*;
-
- DESCRIPTION
-
(no description)
- CLASSNAME
-
TabDesc*
- BASECLASS
-
G.GroupDesc
- POINTER
-
Tab
- DESCIPTION
-
(no description)
- METHODS
-
PROCEDURE GetEntry(count :LONGINT): TabEntry;
-
- DESCRIPTION
-
(no description)
PROCEDURE DrawTab(count : LONGINT; selected : BOOLEAN);
-
- DESCRIPTION
-
(no description)
PROCEDURE DrawTop;
-
- DESCRIPTION
-
(no description)
PROCEDURE DrawObject(count : LONGINT);
-
- DESCRIPTION
-
(no description)
PROCEDURE Init*;
-
- DESCRIPTION
-
(no description)
PROCEDURE Disable*(disable : BOOLEAN);
-
- DESCRIPTION
-
(no description)
PROCEDURE AddTab*(label, object : VOGUIObject.Object);
-
- DESCRIPTION
-
(no description)
PROCEDURE CalcSize*(d : VODisplay.Display);
-
- DESCRIPTION
-
(no description)
PROCEDURE GetFocus*(event : VOEvent.Event):VOGUIObject.Object;
-
- DESCRIPTION
-
(no description)
PROCEDURE HandleEvent*(event : VOEvent.Event):BOOLEAN;
-
- DESCRIPTION
-
(no description)
PROCEDURE HandleFocusEvent*(event : VOEvent.KeyEvent):BOOLEAN;
-
- DESCRIPTION
-
(no description)
PROCEDURE GetPosObject*(x,y : LONGINT; type : LONGINT):VOGUIObject.Object;
-
- DESCRIPTION
-
(no description)
PROCEDURE GetDnDObject*(x,y : LONGINT; drag : BOOLEAN):VOGUIObject.Object;
-
- DESCRIPTION
-
(no description)
PROCEDURE Draw*(x,y : LONGINT; draw : VODisplay.DrawInfo);
-
- DESCRIPTION
-
(no description)
PROCEDURE DrawFocus*;
-
- DESCRIPTION
-
Draw the keyboard focus.
PROCEDURE HideFocus*;
-
- DESCRIPTION
-
Hide the keyboard focus.
PROCEDURE Refresh*(x,y,w,h : LONGINT);
-
- DESCRIPTION
-
Must be overloaded because the baseclass implements this methods
differently.
PROCEDURE Hide*;
-
- DESCRIPTION
-
(no description)
- CLASSNAME
-
ChangedMsgDesc*
- BASECLASS
-
O.MessageDesc
- POINTER
-
ChangedMsg
- DESCIPTION
-
The PressedMsg generated everytime the button get clicked.
- MODULENAME
-
VOToolbar
- DESCRIPTION
-
A special group object for toolbar buttons.
- IMPORTS
-
VODisplay
VOFrame
VOGUIObject
- CLASSNAME
-
PrefsDesc*
- BASECLASS
-
G.PrefsDesc
- POINTER
-
Prefs
- DESCIPTION
-
In this class all preferences stuff of the button row is stored.
- METHODS
-
PROCEDURE SetPrefs(t : Toolbar);
-
- DESCRIPTION
-
(no description)
PROCEDURE Init*;
-
- DESCRIPTION
-
(no description)
- CLASSNAME
-
ToolbarDesc*
- BASECLASS
-
G.GroupDesc
- POINTER
-
Toolbar
- DESCIPTION
-
(no description)
- METHODS
-
PROCEDURE Init*;
-
- DESCRIPTION
-
(no description)
PROCEDURE SetEqualSize*(equal : BOOLEAN);
-
- DESCRIPTION
-
(no description)
PROCEDURE CalcSize*(display : VODisplay.Display);
-
- DESCRIPTION
-
(no description)
PROCEDURE Draw*(x,y : LONGINT; draw : VODisplay.DrawInfo);
-
- DESCRIPTION
-
(no description)
PROCEDURE Refresh*(x,y,w,h : LONGINT);
-
- DESCRIPTION
-
(no description)
PROCEDURE Hide*;
-
- DESCRIPTION
-
(no description)
- MODULENAME
-
VOMenu
- DESCRIPTION
-
Implements popup menues.
- TODO
-
* Add support for check menu and radio menu
* Cleanup code and share more code with VOWindow
- IMPORTS
-
VODisplay
VOEvent
VOFrame
VOGUIObject
VOKeyHandler
VOObject
VOText
VOUtil
VOVecImage
- FUNCTIONS
-
PROCEDURE InitMenu*(d : VODisplay.Display):Menu;
-
- DESCRIPTION
-
(no description)
- CLASSNAME
-
PrefsDesc*
- BASECLASS
-
G.PrefsDesc
- POINTER
-
Prefs
- DESCIPTION
-
In this class all preferences stuff of the button is stored.
- METHODS
-
PROCEDURE SetPrefs(m : Menu);
-
- DESCRIPTION
-
(no description)
PROCEDURE Init*;
-
- DESCRIPTION
-
Initalisation of preferences.
- CLASSNAME
-
MenuStripDesc*
- BASECLASS
-
G.GroupDesc
- POINTER
-
MenuStrip
- DESCIPTION
-
(no description)
- METHODS
-
PROCEDURE Init*;
-
- DESCRIPTION
-
(no description)
PROCEDURE AddTextStrip*(title : ARRAY OF CHAR; menu : Menu);
-
- DESCRIPTION
-
Adds an entry to the menustrip and bind that entry to a menu.
PROCEDURE CalcSize*(display : VODisplay.Display);
-
- DESCRIPTION
-
(no description)
PROCEDURE GetFocus*(event : VOEvent.Event):VOGUIObject.Object;
-
- DESCRIPTION
-
(no description)
PROCEDURE HandleEvent*(event : VOEvent.Event):BOOLEAN;
-
- DESCRIPTION
-
(no description)
PROCEDURE Draw*(x,y : LONGINT; draw : VODisplay.DrawInfo);
-
- DESCRIPTION
-
(no description)
PROCEDURE Refresh*(x,y,w,h : LONGINT);
-
- DESCRIPTION
-
(no description)
PROCEDURE Hide*;
-
- DESCRIPTION
-
(no description)
- CLASSNAME
-
MenuDesc*
- BASECLASS
-
D.WindowDesc
- POINTER
-
Menu
- DESCIPTION
-
(no description)
- METHODS
-
PROCEDURE SetPullDown(strip : MenuStrip; reference : VOGUIObject.Object; offset : LONGINT);
-
- DESCRIPTION
-
This makes the menu a pulldown relative to the given object.
- NOTE
-
The pulldown flag gets cleared after closing the menu, you must explizitely
set it before calling Menu.Open.
PROCEDURE Add(entry : MenuEntry);
-
- DESCRIPTION
-
Initializes an empty menu.
PROCEDURE CalcSize;
-
- DESCRIPTION
-
(no description)
PROCEDURE CursorIsIn():BOOLEAN;
-
- DESCRIPTION
-
(no description)
PROCEDURE GetSelected():MenuEntry;
-
- DESCRIPTION
-
(no description)
PROCEDURE CloseAll;
-
- DESCRIPTION
-
(no description)
PROCEDURE Init*;
-
- DESCRIPTION
-
(no description)
PROCEDURE AddItem*(name, shortcut : VOGUIObject.Object; id : LONGINT);
-
- DESCRIPTION
-
(no description)
PROCEDURE AddTextItem*(label, shortcut : ARRAY OF CHAR; id : LONGINT);
-
- DESCRIPTION
-
(no description)
PROCEDURE AddTextItemSC*(label, shortcut : ARRAY OF CHAR; id : LONGINT; qualifier : SET; char : CHAR; keyHandler : VOKeyHandler.KeyHandler);
-
- DESCRIPTION
-
(no description)
PROCEDURE AddSeparator*;
-
- DESCRIPTION
-
(no description)
PROCEDURE AddTitle*(name : VOGUIObject.Object);
-
- DESCRIPTION
-
(no description)
PROCEDURE AddTextTitle*(label : ARRAY OF CHAR);
-
- DESCRIPTION
-
(no description)
PROCEDURE AddSubMenu*(name : VOGUIObject.Object; menu : Menu);
-
- DESCRIPTION
-
(no description)
PROCEDURE AddTextSubMenu*(label : ARRAY OF CHAR; menu : Menu);
-
- DESCRIPTION
-
(no description)
PROCEDURE Send*(message : VOObject.Message; type : LONGINT);
-
- DESCRIPTION
-
(no description)
PROCEDURE PreInit*;
-
- DESCRIPTION
-
(no description)
PROCEDURE Close*;
-
- DESCRIPTION
-
(no description)
PROCEDURE Draw*;
-
- DESCRIPTION
-
(no description)
PROCEDURE Hide*;
-
- DESCRIPTION
-
(no description)
PROCEDURE Hidden*;
-
- DESCRIPTION
-
(no description)
PROCEDURE HandleEvent*(event : VOEvent.Event):BOOLEAN;
-
- DESCRIPTION
-
(no description)
- CLASSNAME
-
SelectedMsgDesc*
- BASECLASS
-
O.MessageDesc
- POINTER
-
SelectedMsg
- DESCIPTION
-
(no description)
- CLASSNAME
-
CloseMsgDesc*
- BASECLASS
-
O.MessageDesc
- POINTER
-
CloseMsg
- DESCIPTION
-
(no description)
- MODULENAME
-
VOPopup
- DESCRIPTION
-
Implements popup-windows.
- TODO
-
* Share more code with VOWindow
- IMPORTS
-
VODisplay
VOEvent
VOFrame
VOGUIObject
VOKeyHandler
VOObject
VOPrefs
- CLASSNAME
-
PrefsDesc*
- BASECLASS
-
P.PrefsDesc
- POINTER
-
Prefs
- DESCIPTION
-
In this class all preferences stuff of the button is stored.
- METHODS
-
PROCEDURE Init*;
-
- DESCRIPTION
-
(no description)
- CLASSNAME
-
PopupDesc*
- BASECLASS
-
D.WindowDesc
- POINTER
-
Popup
- DESCIPTION
-
(no description)
- METHODS
-
PROCEDURE CalcSize;
-
- DESCRIPTION
-
(no description)
PROCEDURE CursorIsIn():BOOLEAN;
-
- DESCRIPTION
-
(no description)
PROCEDURE GetPosObject(mode : LONGINT):VOGUIObject.Object;
-
- DESCRIPTION
-
(no description)
PROCEDURE Init*;
-
- DESCRIPTION
-
PROCEDURE SetTop*(top,reference : VOGUIObject.Object);
-
- DESCRIPTION
-
Set the top object for this window and its reference. The popup tries
to open itself directly under the referenced object. It also tires to
get the same width as the popup.
PROCEDURE PreInit*;
-
- DESCRIPTION
-
(no description)
PROCEDURE AddKeyHandler*(handler : VOKeyHandler.KeyHandler);
-
- DESCRIPTION
-
Add a keyhandler to the popup window.
PROCEDURE Draw*;
-
- DESCRIPTION
-
(no description)
PROCEDURE Redraw*(x,y,width,height : LONGINT);
-
- DESCRIPTION
-
(no description)
PROCEDURE Hide*;
-
- DESCRIPTION
-
(no description)
PROCEDURE FocusIn*;
-
- DESCRIPTION
-
(no description)
PROCEDURE FocusOut*;
-
- DESCRIPTION
-
(no description)
PROCEDURE GetDnDObject*(x,y : LONGINT; drag : BOOLEAN):VOGUIObject.Object;
-
- DESCRIPTION
-
Returns the object that coveres the given point and that supports
dragging of data.
If drag is TRUE, when want to find a object that we can drag data from,
else we want an object to drop data on.
PROCEDURE ContextHelp*;
-
- DESCRIPTION
-
(no description)
PROCEDURE ContextMenu*():BOOLEAN;
-
- DESCRIPTION
-
(no description)
PROCEDURE HandleEvent*(event : VOEvent.Event):BOOLEAN;
-
- DESCRIPTION
-
(no description)
PROCEDURE FocusNext*;
-
- DESCRIPTION
-
(no description)
PROCEDURE FocusObjectHides*;
-
- DESCRIPTION
-
(no description)
PROCEDURE Receive*(message : VOObject.Message);
-
- DESCRIPTION
-
(no description)
- CLASSNAME
-
OpenMsgDesc*
- BASECLASS
-
O.MessageDesc
- POINTER
-
OpenMsg
- DESCIPTION
-
(no description)
- CLASSNAME
-
CloseMsgDesc*
- BASECLASS
-
O.MessageDesc
- POINTER
-
CloseMsg
- DESCIPTION
-
(no description)
- CLASSNAME
-
Msg2OpenDesc*
- BASECLASS
-
O.HandlerDesc
- POINTER
-
Msg2Open
- DESCIPTION
-
(no description)
- METHODS
-
PROCEDURE Convert*(message : VOObject.Message):VOObject.Message;
-
- DESCRIPTION
-
(no description)
- CLASSNAME
-
Msg2CloseDesc*
- BASECLASS
-
O.HandlerDesc
- POINTER
-
Msg2Close
- DESCIPTION
-
(no description)
- METHODS
-
PROCEDURE Convert*(message : VOObject.Message):VOObject.Message;
-
- DESCRIPTION
-
(no description)
- MODULENAME
-
VOQuickHelp
- DESCRIPTION
-
Implements toolstips, known from windows.
- TODO
-
* Share more code with VOWindow
- IMPORTS
-
VODisplay
VOEvent
VOFrame
VOGUIObject
VOPrefs
- FUNCTIONS
-
PROCEDURE InitHelp*(d : VODisplay.Display; help,reference : VOGUIObject.Object):Help;
-
- DESCRIPTION
-
Initializes a tooltip with help as child which ooccurs
directly beneth reference.
You must explizitly assign the tooltip to the object you want to
give help for. This is not done automatically by this function.
- CLASSNAME
-
PrefsDesc*
- BASECLASS
-
P.PrefsDesc
- POINTER
-
Prefs
- DESCIPTION
-
In this class all preferences stuff of the button is stored.
- METHODS
-
PROCEDURE Init*;
-
- DESCRIPTION
-
(no description)
- CLASSNAME
-
HelpDesc*
- BASECLASS
-
D.WindowDesc
- POINTER
-
Help
- DESCIPTION
-
(no description)
- METHODS
-
PROCEDURE CalcSize;
-
- DESCRIPTION
-
(no description)
PROCEDURE CursorIsIn():BOOLEAN;
-
- DESCRIPTION
-
(no description)
PROCEDURE PreInit*;
-
- DESCRIPTION
-
(no description)
PROCEDURE Draw*;
-
- DESCRIPTION
-
(no description)
PROCEDURE Hide*;
-
- DESCRIPTION
-
(no description)
PROCEDURE Left*;
-
- DESCRIPTION
-
(no description)
PROCEDURE Hidden*;
-
- DESCRIPTION
-
(no description)
PROCEDURE HandleEvent*(event : VOEvent.Event):BOOLEAN;
-
- DESCRIPTION
-
(no description)
- MODULENAME
-
VOWindow
- DESCRIPTION
-
Implements windows.
- TODO
-
* When unmaped, HandleEvents calls top.Hide, which then tries to draw in an
allready unmaped window. Solution: object.Hide has to check window.maped.
* Cleanup window-generation code, divide it into more methods
* Redesign eventloop handling, on method for each event, more functionality
in baseclase. Maybe some abstraction mechanism for certain events.
* Support future Object.Refresh
- IMPORTS
-
VODisplay
VOEvent
VOGUIObject
VOKeyHandler
VOObject
- CLASSNAME
-
WindowDesc*
- BASECLASS
-
D.WindowDesc
- POINTER
-
Window
- DESCIPTION
-
(no description)
- METHODS
-
PROCEDURE GetPosObject(mode : LONGINT):VOGUIObject.Object;
-
- DESCRIPTION
-
Returns the object under the cursor to supports the given mode.
PROCEDURE Init*;
-
- DESCRIPTION
-
Initialize the window object.
PROCEDURE SetTop*(top : VOGUIObject.Object);
-
- DESCRIPTION
-
Set the top object for this window.
PROCEDURE PreInit*;
-
- DESCRIPTION
-
Creates a window on the display with top as top object
and with title as title.
PROCEDURE ReinitWindow*;
-
- DESCRIPTION
-
(no description)
PROCEDURE AddKeyHandler*(handler : VOKeyHandler.KeyHandler);
-
- DESCRIPTION
-
(no description)
PROCEDURE ClosePressed*;
-
- DESCRIPTION
-
(no description)
PROCEDURE Unmaped*;
-
- DESCRIPTION
-
(no description)
PROCEDURE FocusIn*;
-
- DESCRIPTION
-
(no description)
PROCEDURE FocusOut*;
-
- DESCRIPTION
-
(no description)
PROCEDURE Draw*;
-
- DESCRIPTION
-
Draw the window contents.
PROCEDURE Redraw*(x,y,width,height : LONGINT);
-
- DESCRIPTION
-
Redraw the given area of the window.
PROCEDURE Hide*;
-
- DESCRIPTION
-
Hide the window.
PROCEDURE Resized*(width,height : LONGINT);
-
- DESCRIPTION
-
Tell the window that it has been resized. The window resizes in turn
its top object and redraws itself.
PROCEDURE GetDnDObject*(x,y : LONGINT; drag : BOOLEAN):VOGUIObject.Object;
-
- DESCRIPTION
-
Returns the object that coveres the given point and that supports
dragging of data.
If drag is TRUE, when want to find a object that we can drag data from,
else we want an object to drop data on.
PROCEDURE ContextHelp*;
-
- DESCRIPTION
-
Show the context help of an object under the cursor.
PROCEDURE ContextMenu*():BOOLEAN;
-
- DESCRIPTION
-
Open the context menu for an object under the cursor.
PROCEDURE FocusNext*;
-
- DESCRIPTION
-
Move the keyboard focus to the next valid object.
PROCEDURE FocusObjectHides*;
-
- DESCRIPTION
-
Since the object with the keyboard focus hides, we find another one.
PROCEDURE HandleEvent*(event : VOEvent.Event):BOOLEAN;
-
- DESCRIPTION
-
The handler, that handles all events not dealed with in the special
handler-methods
PROCEDURE Receive*(message : VOObject.Message);
-
- DESCRIPTION
-
The Handler for messages by user and other objects
- CLASSNAME
-
OpenMsgDesc*
- BASECLASS
-
O.MessageDesc
- POINTER
-
OpenMsg
- DESCIPTION
-
(no description)
- CLASSNAME
-
CloseMsgDesc*
- BASECLASS
-
O.MessageDesc
- POINTER
-
CloseMsg
- DESCIPTION
-
(no description)
- CLASSNAME
-
DeleteMsgDesc*
- BASECLASS
-
O.MessageDesc
- POINTER
-
DeleteMsg
- DESCIPTION
-
(no description)
- CLASSNAME
-
Msg2OpenDesc*
- BASECLASS
-
O.HandlerDesc
- POINTER
-
Msg2Open
- DESCIPTION
-
(no description)
- METHODS
-
PROCEDURE Convert*(message : VOObject.Message):VOObject.Message;
-
- DESCRIPTION
-
(no description)
- CLASSNAME
-
Msg2CloseDesc*
- BASECLASS
-
O.HandlerDesc
- POINTER
-
Msg2Close
- DESCIPTION
-
(no description)
- METHODS
-
PROCEDURE Convert*(message : VOObject.Message):VOObject.Message;
-
- DESCRIPTION
-
(no description)
- CLASSNAME
-
Msg2DeleteDesc*
- BASECLASS
-
O.HandlerDesc
- POINTER
-
Msg2Delete
- DESCIPTION
-
(no description)
- METHODS
-
PROCEDURE Convert*(message : VOObject.Message):VOObject.Message;
-
- DESCRIPTION
-
(no description)
- MODULENAME
-
VOBoolModel
- DESCRIPTION
-
A model for boolean values.
- IMPORTS
-
- CLASSNAME
-
BoolModelDesc*
- BASECLASS
-
O.ModelDesc
- POINTER
-
BoolModel
- DESCIPTION
-
(no description)
- METHODS
-
PROCEDURE Init*;
-
- DESCRIPTION
-
(no description)
PROCEDURE Set*(bool : BOOLEAN);
-
- DESCRIPTION
-
(no description)
PROCEDURE Toggle*;
-
- DESCRIPTION
-
(no description)
- MODULENAME
-
VODataStreamModel
- DESCRIPTION
-
A model for stream-like nummerical data input.
- IMPORTS
-
- CLASSNAME
-
StreamLongModelDesc*
- BASECLASS
-
O.ModelDesc
- POINTER
-
StreamLongModel
- DESCIPTION
-
(no description)
- METHODS
-
PROCEDURE Init*;
-
- DESCRIPTION
-
(no description)
PROCEDURE SetSize*(size : LONGINT);
-
- DESCRIPTION
-
Sets the number of data stream channels. You assign a channel
count to the model before you can assign any values to it.
You can resize the model but currently all
previous stored data will be lost.
PROCEDURE SetNotificationMode*(mode : LONGINT);
-
- DESCRIPTION
-
Sets the notifycation mode of the model.
PROCEDURE SetValue*(value,channel : LONGINT);
-
- DESCRIPTION
-
Assigns a value to a given channel of the model. Note that the point of
notification of the assignment will be determinented by the notification
mode of the model.
PROCEDURE GetValue*(channel : LONGINT):LONGINT;
-
- DESCRIPTION
-
Returns the current value of the specified channel.
PROCEDURE TriggerNotify*;
-
- DESCRIPTION
-
Explicitely generate a notification after setting a number of
values. You can only trigger a notification if the model is in the
corresponding mode.
- MODULENAME
-
VOFunctionModel
- DESCRIPTION
-
A model for nummerical data as a result of a multi-dimensional function
y=f(x_i), fir 0<= i < infinity, and y a scalar value.
- IMPORTS
-
- CLASSNAME
-
FunctionLRealModelDesc*
- BASECLASS
-
O.ModelDesc
- POINTER
-
FunctionLRealModel
- DESCIPTION
-
(no description)
- METHODS
-
PROCEDURE SetValue*(dim : LONGINT; value : LONGREAL);
-
- DESCRIPTION
-
Assigns a new value for x_i to the model.
PROCEDURE SetDescribtion*(descr : ARRAY OF CHAR);
-
- DESCRIPTION
-
Assign a describtion for the function to the model. A viewer can use
this describtion. He will get a Label msg, if the label changes.
PROCEDURE Dimension*():LONGINT;
-
- DESCRIPTION
-
Returns the dimension of the function, that is i.
PROCEDURE Execute*():LONGREAL;
-
- DESCRIPTION
-
Executes the function with the current values of x_i.
PROCEDURE NotifyFunctionChange*;
-
- DESCRIPTION
-
Notifies all viewers, that the function has changed. As a result,
all viewers should reassign all x_i and recalculate the function.
- NOTE
-
For speed, no special notification object will be created.
- CLASSNAME
-
LabelDesc*
- BASECLASS
-
O.ResyncMsgDesc
- POINTER
-
Label
- DESCIPTION
-
(no description)
- MODULENAME
-
VOIntModel
- DESCRIPTION
-
A model for numbers.
- IMPORTS
-
- CLASSNAME
-
IntModelDesc*
- BASECLASS
-
O.ModelDesc
- POINTER
-
IntModel
- DESCIPTION
-
(no description)
- METHODS
-
PROCEDURE Init*;
-
- DESCRIPTION
-
(no description)
PROCEDURE Set*(value : LONGINT);
-
- DESCRIPTION
-
(no description)
PROCEDURE ForceSet*(value : LONGINT);
-
- DESCRIPTION
-
(no description)
PROCEDURE Inc*;
-
- DESCRIPTION
-
(no description)
PROCEDURE Dec*;
-
- DESCRIPTION
-
(no description)
PROCEDURE Add*(value : LONGINT);
-
- DESCRIPTION
-
(no description)
PROCEDURE Sub*(value : LONGINT);
-
- DESCRIPTION
-
(no description)
PROCEDURE Mul*(value : LONGINT);
-
- DESCRIPTION
-
(no description)
PROCEDURE Div*(value : LONGINT);
-
- DESCRIPTION
-
(no description)
PROCEDURE Mod*(value : LONGINT);
-
- DESCRIPTION
-
(no description)
- MODULENAME
-
VOListModel
- DESCRIPTION
-
A model for lists. Also declares some convinience classes for handling
one-column lists and lists of text.
- TODO
-
* Create special ResyncMsgs for certain operatation, that allows the
corresponding ListObject the make optimized refeshes
- IMPORTS
-
VODisplay
VOGUIObject
VOObject
VOText
VOUtil
Strings
- FUNCTIONS
-
PROCEDURE NewSimplEntry*(object : VOGUIObject.Object):SimplEntry;
-
- DESCRIPTION
-
Create a new SimplEntry with object as only child.
PROCEDURE NewTextEntry*(text : ARRAY OF CHAR):SimplEntry;
-
- DESCRIPTION
-
Create a special TextEntry with includes one textobject
generatd from the text text. Escaping is done by this function.
- CLASSNAME
-
ListEntryDesc*
- BASECLASS
-
(no base)
- POINTER
-
ListEntry
- DESCIPTION
-
(no description)
- METHODS
-
PROCEDURE GetObject*(pos : LONGINT):VOGUIObject.Object;
-
- DESCRIPTION
-
(no description)
PROCEDURE Select*;
-
- DESCRIPTION
-
(no description)
PROCEDURE Deselect*;
-
- DESCRIPTION
-
(no description)
PROCEDURE Toggle*;
-
- DESCRIPTION
-
(no description)
PROCEDURE GetPos*():LONGINT;
-
- DESCRIPTION
-
Returns the position in the list, starting with 1.
If the entry is not in the list (each entry store
directly a pointer to its corresponding ListModel) it returns
-1.
- NOTE
-
This is an exspensive operation. The mehtods goes through the
list of elements until it finds the entry. If you want to now
the position of more than one entry, goes through the list once
and count yourself.
PROCEDURE CalcSize*(display : VODisplay.Display);
-
- DESCRIPTION
-
(no description)
- CLASSNAME
-
SimplEntryDesc*
- BASECLASS
-
ListEntryDesc
- POINTER
-
SimplEntry
- DESCIPTION
-
(no description)
- METHODS
-
PROCEDURE SetObject*(object : VOGUIObject.Object);
-
- DESCRIPTION
-
(no description)
PROCEDURE GetObject*(pos : LONGINT):VOGUIObject.Object;
-
- DESCRIPTION
-
(no description)
PROCEDURE CalcSize*(display : VODisplay.Display);
-
- DESCRIPTION
-
(no description)
- CLASSNAME
-
TextEntryDesc*
- BASECLASS
-
SimplEntryDesc
- POINTER
-
TextEntry
- DESCIPTION
-
(no description)
- CLASSNAME
-
ListModelDesc*
- BASECLASS
-
O.ModelDesc
- POINTER
-
ListModel
- DESCIPTION
-
(no description)
- METHODS
-
PROCEDURE Init*;
-
- DESCRIPTION
-
(no description)
PROCEDURE Append*(entry : ListEntry);
-
- DESCRIPTION
-
(no description)
PROCEDURE Delete*(entry : ListEntry);
-
- DESCRIPTION
-
(no description)
PROCEDURE Clear*;
-
- DESCRIPTION
-
(no description)
PROCEDURE Get*(pos : LONGINT):ListEntry;
-
- DESCRIPTION
-
(no description)
PROCEDURE GetSelected*():ListEntry;
-
- DESCRIPTION
-
(no description)
PROCEDURE Select*(pos : LONGINT);
-
- DESCRIPTION
-
Selects the given entry.
PROCEDURE Deselect*(pos : LONGINT);
-
- DESCRIPTION
-
Deselects the given entry.
PROCEDURE Toggle*(pos : LONGINT);
-
- DESCRIPTION
-
Toggles he selection of the given entry.
- CLASSNAME
-
EntryChgdMsgDesc*
- BASECLASS
-
O.ResyncMsgDesc
- POINTER
-
EntryChgdMsg
- DESCIPTION
-
(no description)
- MODULENAME
-
VORealModel
- DESCRIPTION
-
A model for floating point numbers.
- IMPORTS
-
- CLASSNAME
-
RealModelDesc*
- BASECLASS
-
O.ModelDesc
- POINTER
-
RealModel
- DESCIPTION
-
(no description)
- METHODS
-
PROCEDURE Init*;
-
- DESCRIPTION
-
(no description)
PROCEDURE Set*(value : LONGREAL);
-
- DESCRIPTION
-
(no description)
PROCEDURE ForceSet*(value : LONGREAL);
-
- DESCRIPTION
-
(no description)
PROCEDURE Inc*;
-
- DESCRIPTION
-
(no description)
PROCEDURE Dec*;
-
- DESCRIPTION
-
(no description)
PROCEDURE Add*(value : LONGREAL);
-
- DESCRIPTION
-
(no description)
PROCEDURE Sub*(value : LONGREAL);
-
- DESCRIPTION
-
(no description)
PROCEDURE Mul*(value : LONGREAL);
-
- DESCRIPTION
-
(no description)
PROCEDURE Div*(value : LONGREAL);
-
- DESCRIPTION
-
(no description)
- MODULENAME
-
VOStringModel
- DESCRIPTION
-
A model for strings.
- IMPORTS
-
- CLASSNAME
-
StringModelDesc*
- BASECLASS
-
O.ModelDesc
- POINTER
-
StringModel
- DESCIPTION
-
(no description)
- METHODS
-
PROCEDURE Init*;
-
- DESCRIPTION
-
(no description)
PROCEDURE Set*(string : ARRAY OF CHAR);
-
- DESCRIPTION
-
(no description)
PROCEDURE Delete*(startPos, count : LONGINT);
-
- DESCRIPTION
-
(no description)
PROCEDURE Insert*(source : ARRAY OF CHAR; startPos : LONGINT);
-
- DESCRIPTION
-
(no description)
PROCEDURE GetCopy*(VAR string : ARRAY OF CHAR);
-
- DESCRIPTION
-
(no description)
PROCEDURE GetString*():VOUtil.Text;
-
- DESCRIPTION
-
(no description)
- MODULENAME
-
VOTableModel
- DESCRIPTION
-
A model for table-like data. This is an abstract baseclass. It just
defines an interface which must be implemented by derived models.
A database modl f.e. would directly work on the result set. Other
model may work on lists as internal datarepresentation. These models may
implement additional methods for direct access or for adding and removing
lines or data.
- IMPORTS
-
VOObject
VOUtil
IntStr
Strings
- CLASSNAME
-
TableModelDesc*
- BASECLASS
-
O.ModelDesc
- POINTER
-
TableModel
- DESCIPTION
-
Abstract baseclass for all table models. Its purpose is, to define an
common interface for all tablemodels. The table object itself will only
talk with the model through this interface.
- METHODS
-
PROCEDURE Init*;
-
- DESCRIPTION
-
(no description)
PROCEDURE GetColumns*():LONGINT;
-
- DESCRIPTION
-
(no description)
PROCEDURE GetColumnWidth*(index : LONGINT):LONGINT;
-
- DESCRIPTION
-
(no description)
PROCEDURE GetRows*():LONGINT;
-
- DESCRIPTION
-
(no description)
PROCEDURE GetText*(x,y : LONGINT):VOUtil.Text;
-
- DESCRIPTION
-
(no description)
- CLASSNAME
-
ASTableModelDesc*
- BASECLASS
-
TableModelDesc
- POINTER
-
ASTableModel
- DESCIPTION
-
This implementation stores the value internally as a two dimentional (a)rray
of (s) strings.
- METHODS
-
PROCEDURE SetSize*(width,height : LONGINT);
-
- DESCRIPTION
-
Set the size of the table in rows and columns.
Currently all previous stored texts are lost. This may change
in the future.
- NOTE
-
We make the internally used array one greater in width and height to store
possible additional information. Currently the first row is used to store
the column header texts.
PROCEDURE Init*;
-
- DESCRIPTION
-
(no description)
PROCEDURE GetColumns*():LONGINT;
-
- DESCRIPTION
-
(no description)
PROCEDURE GetColumnWidth*(index : LONGINT):LONGINT;
-
- DESCRIPTION
-
(no description)
PROCEDURE SetColumnWidth*(index,width : LONGINT);
-
- DESCRIPTION
-
(no description)
PROCEDURE SetColumnText*(index : LONGINT; text : VOUtil.Text);
-
- DESCRIPTION
-
(no description)
PROCEDURE SetColumnString*(index : LONGINT; string : ARRAY OF CHAR);
-
- DESCRIPTION
-
(no description)
PROCEDURE GetRows*():LONGINT;
-
- DESCRIPTION
-
(no description)
PROCEDURE SetText*(x,y : LONGINT; text : VOUtil.Text);
-
- DESCRIPTION
-
(no description)
PROCEDURE SetString*(x,y : LONGINT; string : ARRAY OF CHAR);
-
- DESCRIPTION
-
(no description)
PROCEDURE GetText*(x,y : LONGINT):VOUtil.Text;
-
- DESCRIPTION
-
(no description)
- CLASSNAME
-
TestModelDesc*
- BASECLASS
-
TableModelDesc
- POINTER
-
TestTable
- DESCIPTION
-
A simple model implementation, just for testing purpose.
- METHODS
-
PROCEDURE Init*;
-
- DESCRIPTION
-
(no description)
PROCEDURE GetColumns*():LONGINT;
-
- DESCRIPTION
-
(no description)
PROCEDURE GetColumnWidth*(index : LONGINT):LONGINT;
-
- DESCRIPTION
-
(no description)
PROCEDURE GetRows*():LONGINT;
-
- DESCRIPTION
-
(no description)
PROCEDURE GetText*(x,y : LONGINT):VOUtil.Text;
-
- DESCRIPTION
-
(no description)
- CLASSNAME
-
RefreshCellDesc*
- BASECLASS
-
O.ResyncMsgDesc
- POINTER
-
RefreshCell
- DESCIPTION
-
(no description)
- MODULENAME
-
VOTextViewModel
- DESCRIPTION
-
An abstract model for readonly multiline text.
- IMPORTS
-
VOObject
SYSTEM
Err
Channel
Strings
TextRider
- CLASSNAME
-
ReaderDesc*
- BASECLASS
-
(no base)
- POINTER
-
Reader
- DESCIPTION
-
A reader for the textmodel.
- METHODS
-
PROCEDURE Init*;
-
- DESCRIPTION
-
(no description)
PROCEDURE IsValid*():BOOLEAN;
-
- DESCRIPTION
-
(no description)
PROCEDURE Assign*(reader : Reader);
-
- DESCRIPTION
-
(no description)
PROCEDURE Position*(line : LONGINT);
-
- DESCRIPTION
-
(no description)
PROCEDURE Forward*(lines : LONGINT);
-
- DESCRIPTION
-
(no description)
PROCEDURE Backward*(lines : LONGINT);
-
- DESCRIPTION
-
(no description)
PROCEDURE Next*;
-
- DESCRIPTION
-
(no description)
PROCEDURE Last*;
-
- DESCRIPTION
-
(no description)
PROCEDURE GetLine*(VAR line : LineDesc);
-
- DESCRIPTION
-
(no description)
- CLASSNAME
-
TextModelDesc*
- BASECLASS
-
O.ModelDesc
- POINTER
-
TextModel
- DESCIPTION
-
The textmodel baseclass.
- METHODS
-
PROCEDURE ResyncMsg;
-
- DESCRIPTION
-
(no description)
PROCEDURE ResizeMsg;
-
- DESCRIPTION
-
(no description)
PROCEDURE Init*;
-
- DESCRIPTION
-
(no description)
PROCEDURE GetReader*():Reader;
-
- DESCRIPTION
-
(no description)
- CLASSNAME
-
LineDesc*
- BASECLASS
-
(no base)
- POINTER
-
Line
- DESCIPTION
-
(no description)
- CLASSNAME
-
ReloadMsgDesc*
- BASECLASS
-
O.ResyncMsgDesc
- POINTER
-
ReloadMsg
- DESCIPTION
-
(no description)
- CLASSNAME
-
ListTextModelDesc*
- BASECLASS
-
TextModelDesc
- POINTER
-
ListTextModel
- DESCIPTION
-
(no description)
- METHODS
-
PROCEDURE Init*;
-
- DESCRIPTION
-
(no description)
PROCEDURE GetReader*():Reader;
-
- DESCRIPTION
-
(no description)
PROCEDURE Clear*;
-
- DESCRIPTION
-
(no description)
PROCEDURE AddText*(text : ARRAY OF CHAR);
-
- DESCRIPTION
-
(no description)
PROCEDURE AddLn*;
-
- DESCRIPTION
-
(no description)
PROCEDURE AddLine*(text : ARRAY OF CHAR);
-
- DESCRIPTION
-
(no description)
PROCEDURE RemoveLastLine*;
-
- DESCRIPTION
-
(no description)
PROCEDURE LoadFromChannel*(channel : Channel.Channel):BOOLEAN;
-
- DESCRIPTION
-
(no description)
- CLASSNAME
-
ListReaderDesc*
- BASECLASS
-
ReaderDesc
- POINTER
-
ListReader
- DESCIPTION
-
(no description)
- METHODS
-
PROCEDURE Attach;
-
- DESCRIPTION
-
(no description)
PROCEDURE Init*;
-
- DESCRIPTION
-
(no description)
PROCEDURE IsValid*():BOOLEAN;
-
- DESCRIPTION
-
(no description)
PROCEDURE Assign*(reader : Reader);
-
- DESCRIPTION
-
(no description)
PROCEDURE Position*(line : LONGINT);
-
- DESCRIPTION
-
(no description)
PROCEDURE Forward*(lines : LONGINT);
-
- DESCRIPTION
-
(no description)
PROCEDURE Backward*(lines : LONGINT);
-
- DESCRIPTION
-
(no description)
PROCEDURE GetLine*(VAR line : LineDesc);
-
- DESCRIPTION
-
(no description)
- MODULENAME
-
VOTreeModel
- DESCRIPTION
-
A model for tree-like data structures.
- IMPORTS
-
- FUNCTIONS
-
PROCEDURE CreateTextItem*(model : TreeModel; text : ARRAY OF CHAR):TextItem;
-
- DESCRIPTION
-
(no description)
- CLASSNAME
-
TreeItemDesc*
- BASECLASS
-
(no base)
- POINTER
-
TreeItem
- DESCIPTION
-
(no description)
- METHODS
-
PROCEDURE UpdateChildCount(count : LONGINT);
-
- DESCRIPTION
-
(no description)
PROCEDURE RecalcVisible;
-
- DESCRIPTION
-
(no description)
PROCEDURE Init*(model : TreeModel);
-
- DESCRIPTION
-
Initialize the treeitem
PROCEDURE GetText*():VOUtil.Text;
-
- DESCRIPTION
-
Return the text belonging to the treeitem. It is allowed to return NIL.
This method always returns NIL. You have to derive from TreeItem and implement
this method. This way you can influence the way the item stores the text.
PROCEDURE AddChild*(item : TreeItem);
-
- DESCRIPTION
-
Append a new child to the list of existing childs of the current item.
PROCEDURE InsertAfter*(item : TreeItem);
-
- DESCRIPTION
-
PROCEDURE ShowChilds*;
-
- DESCRIPTION
-
Show the childs of this item.
PROCEDURE HideChilds*;
-
- DESCRIPTION
-
Hide the childs of this item.
PROCEDURE HasChilds*():BOOLEAN;
-
- DESCRIPTION
-
returns TRUE if the item has childs.
PROCEDURE IsVisible*():BOOLEAN;
-
- DESCRIPTION
-
Return TRUE, if the item is currently visible. This routine is possibly
expensive, since it walks up in the tree to check if all parents are visible.
PROCEDURE VisibleParent*():TreeItem;
-
- DESCRIPTION
-
Return the next visible parent or the object itself, if it is visible.
As isVisible this method is rather expensive.
PROCEDURE Last*():TreeItem;
-
- DESCRIPTION
-
Returns the last visible entry.
It is current exspected that the current item is already visible.
PROCEDURE Next*():TreeItem;
-
- DESCRIPTION
-
Returns the next visible entry.
It is current exspected that the current item is already visible.
- CLASSNAME
-
TextItemDesc*
- BASECLASS
-
TreeItemDesc
- POINTER
-
TextItem
- DESCIPTION
-
(no description)
- METHODS
-
PROCEDURE Init*(model : TreeModel);
-
- DESCRIPTION
-
(no description)
PROCEDURE SetText*(text : ARRAY OF CHAR);
-
- DESCRIPTION
-
(no description)
PROCEDURE GetText*():VOUtil.Text;
-
- DESCRIPTION
-
(no description)
- CLASSNAME
-
TreeModelDesc*
- BASECLASS
-
O.ModelDesc
- POINTER
-
TreeModel
- DESCIPTION
-
(no description)
- METHODS
-
PROCEDURE RecalcVisible;
-
- DESCRIPTION
-
(no description)
PROCEDURE Init*;
-
- DESCRIPTION
-
(no description)
PROCEDURE SetTop*(item : TreeItem);
-
- DESCRIPTION
-
(no description)
PROCEDURE GetVisibleItem*(pos : LONGINT; VAR indent : LONGINT):TreeItem;
-
- DESCRIPTION
-
(no description)
- CLASSNAME
-
ItemSwitchedMsgDesc*
- BASECLASS
-
O.ResyncMsgDesc
- POINTER
-
ItemSwitchedMsg
- DESCIPTION
-
(no description)
- MODULENAME
-
VOIntStrPipe
- DESCRIPTION
-
Piping of data between different integer and string models.
- IMPORTS
-
Err
VOObject
VOPipe
VOStringModel
VOIntModel
IntStr
- CLASSNAME
-
IntStrPipeDesc*
- BASECLASS
-
VOPipe.PipeDesc
- POINTER
-
IntStrPipe
- DESCIPTION
-
(no description)
- METHODS
-
PROCEDURE int2str();
-
- DESCRIPTION
-
(no description)
PROCEDURE str2int();
-
- DESCRIPTION
-
(no description)
PROCEDURE Init*();
-
- DESCRIPTION
-
(no description)
PROCEDURE Lock*(model: VOObject.Model);
-
- DESCRIPTION
-
(no description)
PROCEDURE Unlock*(model: VOObject.Model);
-
- DESCRIPTION
-
(no description)
PROCEDURE SetIntModel*(new: VOIntModel.IntModel);
-
- DESCRIPTION
-
(no description)
PROCEDURE SetStringModel*(new: VOStringModel.StringModel);
-
- DESCRIPTION
-
(no description)
PROCEDURE Resync*(model: VOObject.Model; msg: VOObject.ResyncMsg);
-
- DESCRIPTION
-
(no description)
PROCEDURE Unlink*();
-
- DESCRIPTION
-
(no description)
- MODULENAME
-
VOPipe
- DESCRIPTION
-
Piping of data between different models.
- IMPORTS
-
- CLASSNAME
-
PipeDesc*
- BASECLASS
-
VOObject.MsgObjectDesc
- POINTER
-
Pipe
- DESCIPTION
-
(no description)
- METHODS
-
PROCEDURE Init*();
-
- DESCRIPTION
-
(no description)
PROCEDURE Lock*(model: VOObject.Model);
-
- DESCRIPTION
-
(no description)
PROCEDURE Unlock*(model: VOObject.Model);
-
- DESCRIPTION
-
(no description)
PROCEDURE Unlink*();
-
- DESCRIPTION
-
(no description)
- MODULENAME
-
VORealStrPipe
- DESCRIPTION
-
Piping of data between real and string models.
- IMPORTS
-
Err
VOObject
VOPipe
VOStringModel
VORealModel
LRealStr
- CLASSNAME
-
RealStrPipeDesc*
- BASECLASS
-
VOPipe.PipeDesc
- POINTER
-
RealStrPipe
- DESCIPTION
-
(no description)
- METHODS
-
PROCEDURE real2str();
-
- DESCRIPTION
-
(no description)
PROCEDURE str2real();
-
- DESCRIPTION
-
(no description)
PROCEDURE Init*();
-
- DESCRIPTION
-
(no description)
PROCEDURE Lock*(model: VOObject.Model);
-
- DESCRIPTION
-
(no description)
PROCEDURE Unlock*(model: VOObject.Model);
-
- DESCRIPTION
-
(no description)
PROCEDURE SetRealModel*(new: VORealModel.RealModel);
-
- DESCRIPTION
-
(no description)
PROCEDURE SetStringModel*(new: VOStringModel.StringModel);
-
- DESCRIPTION
-
(no description)
PROCEDURE Resync*(model: VOObject.Model; msg: VOObject.ResyncMsg);
-
- DESCRIPTION
-
(no description)
PROCEDURE Unlink*();
-
- DESCRIPTION
-
(no description)
- MODULENAME
-
Imlib
- DESCRIPTION
-
(no description)
- IMPORTS
-
- FUNCTIONS
-
PROCEDURE Imlibinit*(disp : X11.DisplayPtr):DataPtr;
-
- DESCRIPTION
-
(no description)
PROCEDURE Imlibload_image*(id : DataPtr; file : ARRAY OF CHAR):ImagePtr;
-
- DESCRIPTION
-
(no description)
PROCEDURE Imlibrender*(id : DataPtr; image : ImagePtr; width,height : C.int):C.int;
-
- DESCRIPTION
-
(no description)
PROCEDURE Imlibcopy_image*(id : DataPtr; image : ImagePtr):X11.Pixmap;
-
- DESCRIPTION
-
(no description)
PROCEDURE Imlibcopy_mask*(id : DataPtr; image : ImagePtr):X11.Pixmap;
-
- DESCRIPTION
-
(no description)
PROCEDURE Imlibmove_image*(id : DataPtr; image : ImagePtr):X11.Pixmap;
-
- DESCRIPTION
-
(no description)
PROCEDURE Imlibmove_mask*(id : DataPtr; image : ImagePtr):X11.Pixmap;
-
- DESCRIPTION
-
(no description)
PROCEDURE Imlibdestroy_image*(id : DataPtr; image : ImagePtr);
-
- DESCRIPTION
-
(no description)
PROCEDURE Imlibkill_image*(id : DataPtr; image : ImagePtr);
-
- DESCRIPTION
-
(no description)
PROCEDURE Imlibfree_colors*(id : DataPtr);
-
- DESCRIPTION
-
(no description)
PROCEDURE Imlibfree_pixmap*(id : DataPtr; pixmap: X11.Pixmap);
-
- DESCRIPTION
-
(no description)
PROCEDURE Imlibset_image_shape*(id : DataPtr; image : ImagePtr; VAR color : Color);
-
- DESCRIPTION
-
(no description)
- CLASSNAME
-
Border*
- BASECLASS
-
(no base)
- POINTER
-
BorderPtr
- DESCIPTION
-
(no description)
- CLASSNAME
-
Color*
- BASECLASS
-
(no base)
- POINTER
-
ColorPtr
- DESCIPTION
-
(no description)
- CLASSNAME
-
ColorModifier*
- BASECLASS
-
(no base)
- POINTER
-
ColorModifierPtr
- DESCIPTION
-
(no description)
- CLASSNAME
-
Image*
- BASECLASS
-
(no base)
- POINTER
-
ImagePtr
- DESCIPTION
-
(no description)
- CLASSNAME
-
ImageCache*
- BASECLASS
-
(no base)
- POINTER
-
ImageCachePtr
- DESCIPTION
-
(no description)
- CLASSNAME
-
PixmapCache*
- BASECLASS
-
(no base)
- POINTER
-
PixmapCachePtr
- DESCIPTION
-
(no description)
- CLASSNAME
-
Xdata*
- BASECLASS
-
(no base)
- POINTER
-
XdataPtr
- DESCIPTION
-
(no description)
- CLASSNAME
-
Data*
- BASECLASS
-
(no base)
- POINTER
-
DataPtr
- DESCIPTION
-
(no description)
- MODULENAME
-
Motif
- DESCRIPTION
-
Interface to some motif defines and structs.
- CLASSNAME
-
XmDndReceiverProp*
- BASECLASS
-
(no base)
- POINTER
-
(no pointer)
- DESCIPTION
-
(no description)
- CLASSNAME
-
XmDndInitiatorProp*
- BASECLASS
-
(no base)
- POINTER
-
(no pointer)
- DESCIPTION
-
(no description)
- MODULENAME
-
MotifM
- DESCRIPTION
-
Some motif macros.
- FUNCTIONS
-
PROCEDURE GetEventType*(flag : CHAR):INTEGER;
-
- DESCRIPTION
-
(no description)
PROCEDURE GetMsgType*(flag : CHAR):INTEGER;
-
- DESCRIPTION
-
(no description)
PROCEDURE GetOperation*(flag : INTEGER):INTEGER;
-
- DESCRIPTION
-
(no description)
PROCEDURE GetStatus*(flag : INTEGER):INTEGER;
-
- DESCRIPTION
-
(no description)
PROCEDURE GetOperations*(flag : INTEGER):INTEGER;
-
- DESCRIPTION
-
(no description)
PROCEDURE GetCompletition*(flag : INTEGER):INTEGER;
-
- DESCRIPTION
-
(no description)
PROCEDURE SetEventType*(VAR flag : CHAR; value : LONGINT);
-
- DESCRIPTION
-
(no description)
PROCEDURE SetOperation*(VAR flag : INTEGER; value : LONGINT);
-
- DESCRIPTION
-
(no description)
PROCEDURE SetStatus*(VAR flag: INTEGER; value : LONGINT);
-
- DESCRIPTION
-
(no description)
PROCEDURE SetOperations*(VAR flag: INTEGER; value : LONGINT);
-
- DESCRIPTION
-
(no description)
PROCEDURE SetCompletition*(VAR flag: INTEGER; value : LONGINT);
-
- DESCRIPTION
-
(no description)
- MODULENAME
-
VOLLFor
- DESCRIPTION
-
Interface to some functions of the underlying UNIX system.
- NOTE
-
This is currently a first implementation to acess directories
based on the existance of dirent.h. This module may not compile on all
plattforms!
- IMPORTS
-
- FUNCTIONS
-
PROCEDURE GetDirName*(directory : VOLLInt.direntPtr):C.charPtr1d;
-
- DESCRIPTION
-
(no description)
- MODULENAME
-
VOLLInt
- DESCRIPTION
-
Interface to some functions of the underlying UNIX system.
- IMPORTS
-
- FUNCTIONS
-
PROCEDURE select*(n : C.int; readfds, writefds, exceptfds : fd_setPtr; VAR timeval : timeval):C.int;
-
- DESCRIPTION
-
(no description)
PROCEDURE opendir*(name : ARRAY OF CHAR):DIRPtr;
-
- DESCRIPTION
-
(no description)
PROCEDURE closedir*(directory : DIRPtr);
-
- DESCRIPTION
-
(no description)
PROCEDURE readdir*(directory : DIRPtr):direntPtr;
-
- DESCRIPTION
-
(no description)
- CLASSNAME
-
timeval*
- BASECLASS
-
(no base)
- POINTER
-
(no pointer)
- DESCIPTION
-
(no description)
- CLASSNAME
-
DIR*
- BASECLASS
-
(no base)
- POINTER
-
DIRPtr
- DESCIPTION
-
(no description)
- CLASSNAME
-
dirent*
- BASECLASS
-
(no base)
- POINTER
-
direntPtr
- DESCIPTION
-
(no description)
- MODULENAME
-
VOLLMac
- DESCRIPTION
-
Some macros for the lowlevel-stuff defined in `VOLLInt.Mod'
- IMPORTS
-
- FUNCTIONS
-
PROCEDURE FDCLR*(fd : C.int; VAR set : VOLLInt.fd_set);
-
- DESCRIPTION
-
Deletes fd from set.
PROCEDURE FDISSET*(fd : C.int; VAR set : VOLLInt.fd_set):BOOLEAN;
-
- DESCRIPTION
-
Checks if fd is included in set.
PROCEDURE FDSET*(fd : C.int; VAR set : VOLLInt.fd_set);
-
- DESCRIPTION
-
Sets fd in set.
PROCEDURE FDZERO*(VAR set : VOLLInt.fd_set);
-
- DESCRIPTION
-
Clears set out.
- MODULENAME
-
xpm
- DESCRIPTION
-
(no description)
- IMPORTS
-
- FUNCTIONS
-
PROCEDURE XpmCreatePixmapFromData*(display : X11.DisplayPtr; d : X11.Drawable; data : C.charPtr2d; VAR pixmap : X11.Pixmap; VAR shapemask_return : X11.Pixmap; attributes : XpmAttributesPtr):C.int;
-
- DESCRIPTION
-
(no description)
PROCEDURE XpmCreateDataFromPixmap*(display : X11.DisplayPtr; VAR data_return : C.charPtr2d; pixmap : X11.Pixmap; shapemask : X11.Pixmap; attributes : XpmAttributesPtr):C.int;
-
- DESCRIPTION
-
(no description)
PROCEDURE XpmReadFileToPixmap*(display : X11.DisplayPtr; d : X11.Drawable; filename : ARRAY OF CHAR; VAR pixmap : X11.Pixmap; VAR shapemask_return : X11.Pixmap; attributes : XpmAttributesPtr):C.int;
-
- DESCRIPTION
-
(no description)
PROCEDURE XpmWriteFileFromPixmap*(display : X11.DisplayPtr; filename : ARRAY OF CHAR; pixmap : X11.Pixmap; shapemask : X11.Pixmap; attributes : XpmAttributesPtr):C.int;
-
- DESCRIPTION
-
(no description)
PROCEDURE XpmCreateImageFromData*(display : X11.DisplayPtr; data : C.charPtr2d; VAR image_return : X11.XImagePtr; VAR hapemask_return : X11.XImagePtr; attributes : XpmAttributesPtr):C.int;
-
- DESCRIPTION
-
(no description)
PROCEDURE XpmCreateDataFromImage*(display : X11.DisplayPtr; VAR data_return : C.charPtr2d; image : X11.XImagePtr; shapeimage : X11.XImagePtr; attributes : XpmAttributesPtr):C.int;
-
- DESCRIPTION
-
(no description)
PROCEDURE XpmReadFileToImage*(display : X11.DisplayPtr; filename : ARRAY OF CHAR; VAR image_return : X11.XImagePtr; VAR shapeimage_return : X11.XImagePtr; attributes : XpmAttributesPtr):C.int;
-
- DESCRIPTION
-
(no description)
PROCEDURE XpmWriteFileFromImage*(display : X11.DisplayPtr; filename : ARRAY OF CHAR; image : X11.XImagePtr; shapeimage : X11.XImagePtr; attributes : XpmAttributesPtr):C.int;
-
- DESCRIPTION
-
(no description)
PROCEDURE XpmCreateImageFromBuffer*(display : X11.DisplayPtr; buffer : ARRAY OF CHAR; VAR image_return : X11.XImagePtr; VAR shapemask_return : X11.XImagePtr; attributes : XpmAttributesPtr):C.int;
-
- DESCRIPTION
-
(no description)
PROCEDURE XpmCreatePixmapFromBuffer*(display : X11.DisplayPtr; d : X11.Drawable; buffer : ARRAY OF CHAR; VAR pixmap : X11.Pixmap; VAR shapemask_return : X11.Pixmap; attributes : XpmAttributesPtr):C.int;
-
- DESCRIPTION
-
(no description)
PROCEDURE XpmCreateBufferFromImage*(display : X11.DisplayPtr; VAR buffer_return : C.charPtr1d; image : X11.XImagePtr; shapeimage : X11.XImagePtr; attributes : XpmAttributesPtr):C.int;
-
- DESCRIPTION
-
(no description)
PROCEDURE XpmCreateBufferFromPixmap*(display : X11.DisplayPtr; VAR buffer_return : C.charPtr1d; pixmap : X11.Pixmap; shapemask : X11.Pixmap; attributes : XpmAttributesPtr):C.int;
-
- DESCRIPTION
-
(no description)
PROCEDURE XpmReadFileToBuffer*(filename : ARRAY OF CHAR; VAR buffer_return : C.charPtr1d):C.int;
-
- DESCRIPTION
-
(no description)
PROCEDURE XpmWriteFileFromBuffer*(filename : ARRAY OF CHAR; buffer : ARRAY OF CHAR):C.int;
-
- DESCRIPTION
-
(no description)
PROCEDURE XpmReadFileToData*(filename : ARRAY OF CHAR; VAR data_return : C.charPtr2d):C.int;
-
- DESCRIPTION
-
(no description)
PROCEDURE XpmWriteFileFromData*(filename : ARRAY OF CHAR; data : C.charPtr2d):C.int;
-
- DESCRIPTION
-
(no description)
PROCEDURE XpmAttributesSize*():C.int;
-
- DESCRIPTION
-
(no description)
PROCEDURE XpmFreeAttributes*(attributes : XpmAttributesPtr);
-
- DESCRIPTION
-
(no description)
PROCEDURE XpmFreeExtensions*(extensions : XpmExtensionPtr; nextensions : C.int);
-
- DESCRIPTION
-
(no description)
PROCEDURE XpmFreeXpmImage*(image : XpmImagePtr);
-
- DESCRIPTION
-
(no description)
PROCEDURE XpmFreeXpmInfo*(info : XpmInfoPtr);
-
- DESCRIPTION
-
(no description)
PROCEDURE XpmGetErrorString*(errcode : C.int):C.charPtr1d;
-
- DESCRIPTION
-
(no description)
PROCEDURE XpmLibraryVersion*():C.int;
-
- DESCRIPTION
-
(no description)
PROCEDURE XpmReadFileToXpmImage*(filename : ARRAY OF CHAR; image : XpmImagePtr; info : XpmInfoPtr):C.int;
-
- DESCRIPTION
-
(no description)
PROCEDURE XpmWriteFileFromXpmImage*(filename : ARRAY OF CHAR; image : XpmImagePtr; info : XpmInfoPtr):C.int;
-
- DESCRIPTION
-
(no description)
PROCEDURE XpmCreatePixmapFromXpmImage*(display : X11.DisplayPtr; d : X11.Drawable; image : XpmImagePtr; VAR pixmap : X11.Pixmap; VAR shapemask_return : X11.Pixmap; attributes : XpmAttributesPtr):C.int;
-
- DESCRIPTION
-
(no description)
PROCEDURE XpmCreateImageFromXpmImage*(display : X11.DisplayPtr; image : XpmImagePtr; VAR image_return : X11.XImagePtr; VAR shapeimage_return : X11.XImagePtr; attributes : XpmAttributesPtr):C.int;
-
- DESCRIPTION
-
(no description)
PROCEDURE XpmCreateXpmImageFromImage*(display : X11.DisplayPtr; image : X11.XImagePtr; shapeimage : X11.XImagePtr; xpmimage : XpmImagePtr; attributes : XpmAttributesPtr):C.int;
-
- DESCRIPTION
-
(no description)
PROCEDURE XpmCreateXpmImageFromPixmap*(display : X11.DisplayPtr; pixmap : X11.Pixmap; shapemask : X11.Pixmap; xpmimage : XpmImagePtr; attributes : XpmAttributesPtr):C.int;
-
- DESCRIPTION
-
(no description)
PROCEDURE XpmCreateDataFromXpmImage*(VAR data_return : C.charPtr2d; image : XpmImagePtr; info : XpmInfoPtr):C.int;
-
- DESCRIPTION
-
(no description)
PROCEDURE XpmCreateXpmImageFromData*(data : C.charPtr2d; image : XpmImagePtr; info : XpmInfoPtr):C.int;
-
- DESCRIPTION
-
(no description)
PROCEDURE XpmCreateXpmImageFromBuffer*(buffer : ARRAY OF CHAR; image : XpmImagePtr; info : XpmInfoPtr):C.int;
-
- DESCRIPTION
-
(no description)
PROCEDURE XpmCreateBufferFromXpmImage*(VAR buffer_return : C.charPtr1d; image : XpmImagePtr; info : XpmInfoPtr):C.int;
-
- DESCRIPTION
-
(no description)
- CLASSNAME
-
XpmColorSymbol*
- BASECLASS
-
(no base)
- POINTER
-
XpmColorSymbolPtr
- DESCIPTION
-
(no description)
- CLASSNAME
-
XpmExtension*
- BASECLASS
-
(no base)
- POINTER
-
XpmExtensionPtr
- DESCIPTION
-
(no description)
- CLASSNAME
-
XpmColor*
- BASECLASS
-
(no base)
- POINTER
-
XpmColorPtr
- DESCIPTION
-
(no description)
- CLASSNAME
-
XpmImage*
- BASECLASS
-
(no base)
- POINTER
-
XpmImagePtr
- DESCIPTION
-
(no description)
- CLASSNAME
-
XpmInfo*
- BASECLASS
-
(no base)
- POINTER
-
XpmInfoPtr
- DESCIPTION
-
(no description)
- CLASSNAME
-
XpmAttributes*
- BASECLASS
-
(no base)
- POINTER
-
XpmAttributesPtr
- DESCIPTION
-
(no description)
section 5.19 VODisplay.Mod.
a
AsciiTable
c
Clock
d
DigiClock
DiskSize
Doom
f
FontList
h
HelloWorld
i
Imlib
m
Motif
MotifM
p
PipeTest
PlotTest
s
StringTest
t
TestTable
TestTree
TextView
v
VisualPrefs
VisualShow
VOArray
VOBackground
VOBool
VOBoolModel
VOButton
VOButtonRow
VOClock
VOColorArea
VOColSelDlg
VOCycle
VODataStreamModel
VODigiClock
VODisplay
VODoom
VODragDrop
VOEvent
VOFrame
VOFrameGroup
VOFrmSelDlg
VOFuelGauge
VOFunctionModel
VOGUIObject
VOImage
VOImgSelDlg
VOIntModel
VOIntStrPipe
VOKeyHandler
VOLabel
VOLED
VOLightChain
VOLine
VOList
VOListModel
VOLLFor
VOLLInt
VOLLMac
VOLoad
VOMenu
VOMsgDialog
VOMulti
VOObject
VOOOCP
VOOszil
VOPane
VOPanel
VOPatternLegend
VOPieChart
VOPipe
VOPlate
VOPlot
VOPopup
VOPower
VOPrefs
VOPrefsGUI
VOPrefsParser
VOPrefsScanner
VOQuickHelp
VORadio
VORealModel
VORealStrPipe
VOScale
VOScroller
VOSegment
VOSegment7
VOSlider
VOSpace
VOStatusLine
VOString
VOStringClock
VOStringModel
VOTab
VOTable
VOTableModel
VOText
VOTextView
VOTextViewModel
VOToolbar
VOTree
VOTreeModel
VOUtil
VOVecImage
VOWindow
VOWireFrame
VOXpmImage
x
xpm
XTest
a
Action
ActionDesc
Array
ArrayDesc
ASTableModel
ASTableModelDesc
b
Background
BackgroundDesc
Bitmap
BitmapDesc
BlockItem
BlockItemDesc
Bool
BoolDesc
BoolModel
BoolModelDesc
Border
BorderPtr
Button
ButtonDesc
ButtonRow
ButtonRowDesc
c
ChangedMsg
ChangedMsgDesc
ChannelMsg
ChannelMsgDesc
ClickedMsg, ClickedMsg
ClickedMsgDesc, ClickedMsgDesc
Clock
ClockDesc
CloseMsg, CloseMsg, CloseMsg
CloseMsgDesc, CloseMsgDesc, CloseMsgDesc
Color
ColorArea
ColorAreaDesc
ColorEntry
ColorEntryDesc
ColorModifier
ColorModifierPtr
ColorPtr
ColSelDlg
ColSelDlgDesc
Configuration concepts
Cycle
CycleDesc
d
Data
DataPtr
DeleteMsg
DeleteMsgDesc
DigiClock
DigiClockDesc
DIR
dirent
direntPtr
DIRPtr
Display, Display
Display configuration
DisplayDesc, DisplayDesc
DisplayPrefs
DisplayPrefsDesc
DnDData
DnDDataDesc
DnDDataInfo
DnDDataInfoDesc
DnDDataInfoEntryDesc
DnDStringData
DnDStringDataDesc
Doom
DoomDesc
DrawInfo
DrawInfoDesc, DrawInfoDesc
e
EnteredMsg
EnteredMsgDesc
EntryChgdMsg
EntryChgdMsgDesc
EscapeMsg
EscapeMsgDesc
Event
EventDesc
ExitMsg
ExitMsgDesc
f
Font
FontDesc
FontExtentDesc
Frame
FrameDesc
FrameGroup
FrameGroupDesc
FrmSelDlg
FrmSelDlgDesc
FuelGauge
FuelGaugeDesc
FunctionLRealModel
FunctionLRealModelDesc
g
Gadget
GadgetDesc
Group
GroupDesc
h
Handler
HandlerDesc
Help
HelpDesc
i
Image, Image, Image
ImageBackground
ImageBackgroundDesc
ImageCache
ImageCachePtr
ImageDesc, ImageDesc
ImagePtr
ImgSelDlg
ImgSelDlgDesc
IntModel
IntModelDesc
IntStrPipe
IntStrPipeDesc
Item
ItemDesc
ItemSwitchedMsg
ItemSwitchedMsgDesc
k
KeyEvent
KeyEventDesc
KeyHandler
KeyHandlerDesc
l
Label, Label
LabelClickedMsg
LabelClickedMsgDesc
LabelDesc, LabelDesc
LED
LEDDesc
LightChain
LightChainDesc
Line, Line
LineDesc, LineDesc
List
ListDesc
ListEntry
ListEntryDesc
ListModel
ListModelDesc
ListReader
ListReaderDesc
ListTextModel
ListTextModelDesc
Load
LoadDesc
m
Menu
MenuDesc
MenuStrip
MenuStripDesc
Message
MessageDesc
Model
ModelDesc
MotionEvent
MotionEventDesc
MouseEvent
MouseEventDesc
MovedMsg
MovedMsgDesc
Msg2Close, Msg2Close
Msg2CloseDesc, Msg2CloseDesc
Msg2Delete
Msg2DeleteDesc
Msg2Exit
Msg2ExitDesc
Msg2Open, Msg2Open
Msg2OpenDesc, Msg2OpenDesc
MsgDialog
MsgDialogDesc
MsgObject
MsgObjectDesc
Multi
MultiDesc
n
Notify
NotifyDesc
o
Object, Object, Object
ObjectDesc, ObjectDesc, ObjectDesc
OpenMsg, OpenMsg
OpenMsgDesc, OpenMsgDesc
Oszil
OszilDesc
p
Pane
PaneDesc
Panel
PanelDesc
PatternLegend
PatternLegendDesc
PieChart
PieChartDesc
Pipe
PipeDesc
PixmapCache
PixmapCachePtr
Plate
PlateDesc
Popup
PopupDesc
Power
PowerDesc
Prefs, Prefs, Prefs, Prefs, Prefs, Prefs, Prefs, Prefs, Prefs, Prefs, Prefs, Prefs, Prefs, Prefs, Prefs, Prefs, Prefs, Prefs, Prefs, Prefs, Prefs, Prefs, Prefs, Prefs, Prefs, Prefs, Prefs, Prefs, Prefs, Prefs, Prefs, Prefs, Prefs, Prefs, Prefs
PrefsDesc, PrefsDesc, PrefsDesc, PrefsDesc, PrefsDesc, PrefsDesc, PrefsDesc, PrefsDesc, PrefsDesc, PrefsDesc, PrefsDesc, PrefsDesc, PrefsDesc, PrefsDesc, PrefsDesc, PrefsDesc, PrefsDesc, PrefsDesc, PrefsDesc, PrefsDesc, PrefsDesc, PrefsDesc, PrefsDesc, PrefsDesc, PrefsDesc, PrefsDesc, PrefsDesc, PrefsDesc, PrefsDesc, PrefsDesc, PrefsDesc, PrefsDesc, PrefsDesc, PrefsDesc, PrefsDesc
PrefsItem
PrefsItemDesc
PressedMsg
PressedMsgDesc
r
Radio
RadioDesc
Reader
ReaderDesc
RealModel
RealModelDesc
RealStrPipe
RealStrPipeDesc
RefreshCell
RefreshCellDesc
ReloadMsg
ReloadMsgDesc
ResyncMsg
ResyncMsgDesc
s
Scale
ScaleDesc
Scroller
ScrollerDesc
Segment
Segment7
Segment7Desc
SegmentDesc
Sel2Set
Sel2SetDesc
SelectedMsg, SelectedMsg, SelectedMsg, SelectedMsg
SelectedMsgDesc, SelectedMsgDesc, SelectedMsgDesc, SelectedMsgDesc
SetMsg, SetMsg, SetMsg, SetMsg
SetMsgDesc, SetMsgDesc, SetMsgDesc, SetMsgDesc
Settings
SettingsDesc
ShortcutEntry
ShortcutEntryDesc
SimplEntry
SimplEntryDesc
SinModel
SinModelDesc
SleepMsg
SleepMsgDesc
Slider
SliderDesc
Space
SpaceDesc
StatusLine
StatusLineDesc
StreamLongModel
StreamLongModelDesc
String
StringClock
StringClockDesc
StringDesc
StringModel
StringModelDesc
t
Tab
TabDesc
Table
TableDesc
TableModel
TableModelDesc
TestModelDesc
TestTable
Text
TextDesc
TextEntry
TextEntryDesc
TextItem
TextItemDesc
TextModel
TextModelDesc
TextView
TextViewDesc
TileBackground
TileBackgroundDesc
TimeOutMsg
TimeOutMsgDesc
timeval
Toolbar
ToolbarDesc
Tree
TreeDesc
TreeItem
TreeItemDesc
TreeModel
TreeModelDesc
v
ValueItem
ValueItemDesc
VecImage
VecImageDesc
w
Window, Window
WindowDesc, WindowDesc
WireFrame
WireFrameDesc
x
Xdata
XdataPtr
XmDndInitiatorProp
XmDndReceiverProp
XpmAttributes
XpmAttributesPtr
XpmColor
XpmColorPtr
XpmColorSymbol
XpmColorSymbolPtr
XpmExtension
XpmExtensionPtr
XpmImage, XpmImage
XpmImageDesc
XpmImagePtr
XpmInfo
XpmInfoPtr
a
ArrayDesc.CalcSize
ArrayDesc.Draw
ArrayDesc.Hide
ArrayDesc.Init
ArrayDesc.Set
ArrayDesc.SetSpace
ASTableModelDesc.GetColumns
ASTableModelDesc.GetColumnWidth
ASTableModelDesc.GetRows
ASTableModelDesc.GetText
ASTableModelDesc.Init
ASTableModelDesc.SetColumnString
ASTableModelDesc.SetColumnText
ASTableModelDesc.SetColumnWidth
ASTableModelDesc.SetSize
ASTableModelDesc.SetString
ASTableModelDesc.SetText
b
BackgroundDesc.CalcSize
BackgroundDesc.Copy
BackgroundDesc.Draw
BackgroundDesc.Free
BlockItemDesc.Print
BlockItemDesc.SetName
BoolDesc.CalcSize
BoolDesc.Draw
BoolDesc.DrawFocus
BoolDesc.GetFocus
BoolDesc.HandleEvent
BoolDesc.HandleFocusEvent
BoolDesc.Hide
BoolDesc.HideFocus
BoolDesc.Init
BoolDesc.IsIn
BoolDesc.Receive
BoolDesc.Resync
BoolDesc.SetModel
BoolModelDesc.Init
BoolModelDesc.Set
BoolModelDesc.Toggle
ButtonDesc.CalcSize
ButtonDesc.Draw
ButtonDesc.DrawFocus
ButtonDesc.GetDnDObject
ButtonDesc.GetFocus
ButtonDesc.HandleEvent
ButtonDesc.HandleFocusEvent
ButtonDesc.HandleShortcutEvent
ButtonDesc.Hide
ButtonDesc.HideFocus
ButtonDesc.Init
ButtonDesc.Receive
ButtonDesc.SetFont
ButtonDesc.SetImage
ButtonDesc.SetLabelText
ButtonDesc.SetPulse
ButtonDesc.SetText
ButtonDesc.SetType
ButtonRowDesc.CalcSize
ButtonRowDesc.Draw
ButtonRowDesc.Hide
ButtonRowDesc.Init
c
ClockDesc.CalcSize
ClockDesc.Draw
ClockDesc.GetFocus
ClockDesc.HandleEvent
ClockDesc.Hide
ClockDesc.Init
ClockDesc.Receive
ClockDesc.SetText
ClockDesc.ShowFrame
ColorAreaDesc.CalcSize
ColorAreaDesc.Draw
ColorAreaDesc.Hide
ColorAreaDesc.Init
ColorAreaDesc.SetColor
ColSelDlgDesc.Init
ColSelDlgDesc.PreInit
ColSelDlgDesc.Receive
ColSelDlgDesc.SetColor
CycleDesc.CalcSize
CycleDesc.Draw
CycleDesc.DrawFocus
CycleDesc.GetFocus
CycleDesc.HandleEvent
CycleDesc.HandleFocusEvent
CycleDesc.Hide
CycleDesc.HideFocus
CycleDesc.Init
CycleDesc.Refresh
CycleDesc.Resync
CycleDesc.SetModel
d
DigiClockDesc.CalcSize
DigiClockDesc.Draw
DigiClockDesc.DrawClock
DigiClockDesc.GetFocus
DigiClockDesc.HandleEvent
DigiClockDesc.Hide
DigiClockDesc.Init
DigiClockDesc.Receive
DigiClockDesc.SetForeground
DigiClockDesc.SetNumberBackground
DisplayDesc.AddChannel
DisplayDesc.AddFont
DisplayDesc.AddSleep
DisplayDesc.AddTimeOut
DisplayDesc.AddWindow
DisplayDesc.AllocateColor
DisplayDesc.AllocateNamedColor
DisplayDesc.CancelSelection
DisplayDesc.CheckSleeps
DisplayDesc.CheckTimeOuts
DisplayDesc.CreateBitmap
DisplayDesc.Deinit
DisplayDesc.Exit
DisplayDesc.Flush
DisplayDesc.FreeBitmap
DisplayDesc.FreeColor
DisplayDesc.FreeFont
DisplayDesc.GetEvent
DisplayDesc.GetFont
DisplayDesc.GetFontList
DisplayDesc.GetNewWindow
DisplayDesc.GetNextTimeOut
DisplayDesc.GetWindow
DisplayDesc.GetWindowOnScreen
DisplayDesc.GetX11Color
DisplayDesc.Handler
DisplayDesc.InitDisplay
DisplayDesc.IsAllocatedColor
DisplayDesc.LoadFont
DisplayDesc.PutBackEvent
DisplayDesc.QuerySelection
DisplayDesc.Receive, DisplayDesc.Receive
DisplayDesc.RegisterSelection
DisplayDesc.ReinitWindows
DisplayDesc.RemoveChannel
DisplayDesc.RemoveSleep
DisplayDesc.RemoveTimeOut
DisplayDesc.RemoveWindow
DisplayDesc.RestartContextHelp
DisplayDesc.SetNewWindow
DisplayDesc.StartContextHelp
DisplayDesc.StopContextHelp
DisplayDesc.Wait
DisplayPrefsDesc.Init
DnDDataInfoDesc.AddDataType
DnDDataInfoDesc.FindDataType
DnDDataInfoDesc.Init
DoomDesc.CalcSize
DoomDesc.Draw
DoomDesc.DrawImage
DoomDesc.Free
DoomDesc.Hide
DoomDesc.Init
DoomDesc.Receive
DrawInfoDesc.AddRegion
DrawInfoDesc.Beep
DrawInfoDesc.CopyArea
DrawInfoDesc.CopyFromBitmap
DrawInfoDesc.CopyToBitmap
DrawInfoDesc.Deinit
DrawInfoDesc.DrawArc
DrawInfoDesc.DrawFillString
DrawInfoDesc.DrawLine
DrawInfoDesc.DrawPoint
DrawInfoDesc.DrawString
DrawInfoDesc.FillArc
DrawInfoDesc.FillBackground
DrawInfoDesc.FillPolygon
DrawInfoDesc.FillRectangle
DrawInfoDesc.FreeLastClip
DrawInfoDesc.GetClipRegion
DrawInfoDesc.Init
DrawInfoDesc.InstallClip
DrawInfoDesc.PopBackground
DrawInfoDesc.PopDash
DrawInfoDesc.PopDrawMode
DrawInfoDesc.PopFont
DrawInfoDesc.PopForeground
DrawInfoDesc.PopPattern
DrawInfoDesc.PopStyle
DrawInfoDesc.PopUniqueFillPattern
DrawInfoDesc.PushBackground
DrawInfoDesc.PushDash
DrawInfoDesc.PushDrawMode
DrawInfoDesc.PushFont
DrawInfoDesc.PushForeground
DrawInfoDesc.PushPattern
DrawInfoDesc.PushStyle
DrawInfoDesc.PushUniqueFillPattern
DrawInfoDesc.RecalcClipRegion
DrawInfoDesc.ReinstallClip
e
EventDesc.EvaluateQualifier
f
FontDesc.Free
FontDesc.GetFontHandle
FontDesc.GetFontPos
FontDesc.Init
FontDesc.InitFromFontInfo
FontDesc.Load
FontDesc.LoadFont
FontDesc.StyleToPos
FontDesc.TextExtent
FontDesc.TextWidth
FontList.GetFontList
FrameDesc.CalcSize
FrameDesc.Draw
FrameDesc.Hide
FrameDesc.Init
FrameDesc.SetFrame
FrameDesc.SetInternalFrame
FrameDesc.SetLabel
FrameGroupDesc.Add
FrameGroupDesc.CalcSize
FrameGroupDesc.Draw
FrameGroupDesc.Hide
FrameGroupDesc.Init
FrameGroupDesc.Refresh
FrameGroupDesc.SetFrame
FrameGroupDesc.SetLabel
FrameGroupDesc.SetSpace
FrameGroupDesc.SetTextLabel
FrmSelDlgDesc.Init
FrmSelDlgDesc.PreInit
FrmSelDlgDesc.Receive
FrmSelDlgDesc.SetFrame
FuelGaugeDesc.CalcSize
FuelGaugeDesc.Draw
FuelGaugeDesc.Hide
FuelGaugeDesc.Init
FuelGaugeDesc.Resync
FuelGaugeDesc.SetDirection
FuelGaugeDesc.SetModel
FuelGaugeDesc.SetRange
FunctionLRealModelDesc.Dimension
FunctionLRealModelDesc.Execute
FunctionLRealModelDesc.NotifyFunctionChange
FunctionLRealModelDesc.SetDescribtion
FunctionLRealModelDesc.SetValue
g
GadgetDesc.CatchedFocus
GadgetDesc.HandleFocusEvent
GadgetDesc.HandleShortcutEvent
GadgetDesc.LostFocus
GroupDesc.Add
GroupDesc.Disable
GroupDesc.GetDnDObject
GroupDesc.GetFocus
GroupDesc.GetPosObject
GroupDesc.Init
GroupDesc.Refresh
h
HandlerDesc.Convert
HandlerDesc.Send
HelpDesc.CalcSize
HelpDesc.CursorIsIn
HelpDesc.Draw
HelpDesc.HandleEvent
HelpDesc.Hidden
HelpDesc.Hide
HelpDesc.Left
HelpDesc.PreInit
i
ImageBackgroundDesc.CalcSize
ImageBackgroundDesc.Copy
ImageBackgroundDesc.Draw
ImageBackgroundDesc.Free
ImageBackgroundDesc.Init
ImageDesc.CalcSize, ImageDesc.CalcSize
ImageDesc.Draw
ImageDesc.DrawPart, ImageDesc.DrawPart
ImageDesc.DrawTiled, ImageDesc.DrawTiled
ImageDesc.Free
ImageDesc.FreePixmaps
ImageDesc.Hide
ImageDesc.Init
ImageDesc.MakePixmap
ImageDesc.Resize
ImageDesc.SetAlignment
ImageDesc.SetFilename
ImageDesc.SetMode
ImgSelDlgDesc.Init
ImgSelDlgDesc.PreInit
ImgSelDlgDesc.Receive
ImgSelDlgDesc.SetImage
Imlib.Imlib, Imlib.Imlib, Imlib.Imlib, Imlib.Imlib, Imlib.Imlib, Imlib.Imlib, Imlib.Imlib, Imlib.Imlib, Imlib.Imlib, Imlib.Imlib, Imlib.Imlib, Imlib.Imlib
IntModelDesc.Add
IntModelDesc.Dec
IntModelDesc.Div
IntModelDesc.ForceSet
IntModelDesc.Inc
IntModelDesc.Init
IntModelDesc.Mod
IntModelDesc.Mul
IntModelDesc.Set
IntModelDesc.Sub
IntStrPipeDesc.Init
IntStrPipeDesc.int2str
IntStrPipeDesc.Lock
IntStrPipeDesc.Resync
IntStrPipeDesc.SetIntModel
IntStrPipeDesc.SetStringModel
IntStrPipeDesc.str2int
IntStrPipeDesc.Unlink
IntStrPipeDesc.Unlock
ItemDesc.AddItem
ItemDesc.GetBoolEntry
ItemDesc.GetEntry
ItemDesc.GetIntEntry
ItemDesc.GetStringEntry
ItemDesc.Init
ItemDesc.Print
k
KeyEventDesc.GetKey
KeyEventDesc.GetName
KeyEventDesc.GetText
KeyEventDesc.SetX11Event
KeyHandlerDesc.Activate
KeyHandlerDesc.AddFocusObject
KeyHandlerDesc.AddShortcutObject
KeyHandlerDesc.CancelCurrent
KeyHandlerDesc.Deactivate
KeyHandlerDesc.FindNewObject
KeyHandlerDesc.GetChainEntry
KeyHandlerDesc.GetSCEntry
KeyHandlerDesc.HandleEvent
KeyHandlerDesc.Init
KeyHandlerDesc.LastChain
KeyHandlerDesc.LastObject
KeyHandlerDesc.NextChain
KeyHandlerDesc.NextObject
KeyHandlerDesc.Refocus
KeyHandlerDesc.SetCurrentObject
KeyHandlerDesc.SetObject
l
LabelDesc.AddLabel
LabelDesc.AddTextLabel
LabelDesc.CalcSize
LabelDesc.Draw
LabelDesc.GetDnDObject
LabelDesc.GetPosObject
LabelDesc.Hide
LabelDesc.Init
LabelDesc.Refresh
LabelDesc.Resize
LabelDesc.Set
LEDDesc.CalcSize
LEDDesc.Draw
LEDDesc.Init
LEDDesc.Resync
LEDDesc.SetModel
LightChainDesc.AddChar
LightChainDesc.CalcSize
LightChainDesc.Draw
LightChainDesc.DrawPoint
LightChainDesc.Hide
LightChainDesc.Init
LightChainDesc.Invert
LightChainDesc.Readapt
LightChainDesc.Receive
LightChainDesc.Resize
LightChainDesc.Scroll
LightChainDesc.SetText
LightChainDesc.SoftScroll
LineDesc.CalcSize
LineDesc.Draw
LineDesc.Hide
LineDesc.Init
LineDesc.Set
ListDesc.CalcSize
ListDesc.Draw
ListDesc.GetEntry
ListDesc.GetFocus
ListDesc.HandleEvent
ListDesc.HandleFocusEvent
ListDesc.Hide
ListDesc.Init
ListDesc.RedrawEntry
ListDesc.Resync
ListDesc.SetModel
ListDesc.SetReadOnly
ListDesc.SetTop
ListDesc.UseScroller
ListEntryDesc.CalcSize
ListEntryDesc.Deselect
ListEntryDesc.GetObject
ListEntryDesc.GetPos
ListEntryDesc.Select
ListEntryDesc.Toggle
ListModelDesc.Append
ListModelDesc.Clear
ListModelDesc.Delete
ListModelDesc.Deselect
ListModelDesc.Get
ListModelDesc.GetSelected
ListModelDesc.Init
ListModelDesc.Select
ListModelDesc.Toggle
ListReaderDesc.Assign
ListReaderDesc.Attach
ListReaderDesc.Backward
ListReaderDesc.Forward
ListReaderDesc.GetLine
ListReaderDesc.Init
ListReaderDesc.IsValid
ListReaderDesc.Position
ListTextModelDesc.AddLine
ListTextModelDesc.AddLn
ListTextModelDesc.AddText
ListTextModelDesc.Clear
ListTextModelDesc.GetReader
ListTextModelDesc.Init
ListTextModelDesc.LoadFromChannel
ListTextModelDesc.RemoveLastLine
LoadDesc.CalcSize
LoadDesc.Draw
LoadDesc.DrawLoad
LoadDesc.Free
LoadDesc.Hide
LoadDesc.Init
LoadDesc.Resync
LoadDesc.SetModel
LoadDesc.SetRange
LoadDesc.SetVertical
LoadDesc.ShowFrame
LoadDesc.ShowLabel
m
MenuDesc.Add
MenuDesc.AddItem
MenuDesc.AddSeparator
MenuDesc.AddSubMenu
MenuDesc.AddTextItem
MenuDesc.AddTextItemSC
MenuDesc.AddTextSubMenu
MenuDesc.AddTextTitle
MenuDesc.AddTitle
MenuDesc.CalcSize
MenuDesc.Close
MenuDesc.CloseAll
MenuDesc.CursorIsIn
MenuDesc.Draw
MenuDesc.GetSelected
MenuDesc.HandleEvent
MenuDesc.Hidden
MenuDesc.Hide
MenuDesc.Init
MenuDesc.PreInit
MenuDesc.Send
MenuDesc.SetPullDown
MenuStripDesc.AddTextStrip
MenuStripDesc.CalcSize
MenuStripDesc.Draw
MenuStripDesc.GetFocus
MenuStripDesc.HandleEvent
MenuStripDesc.Hide
MenuStripDesc.Init
MenuStripDesc.Refresh
ModelDesc.AddObject
ModelDesc.Init
ModelDesc.Load
ModelDesc.Notify
ModelDesc.RemoveObject
ModelDesc.Store
MotifM.GetCompletition
MotifM.GetEventType
MotifM.GetMsgType
MotifM.GetOperation
MotifM.GetOperations
MotifM.GetStatus
MotifM.SetCompletition
MotifM.SetEventType
MotifM.SetOperation
MotifM.SetOperations
MotifM.SetStatus
MotionEventDesc.SetX11Event
MouseEventDesc.SetX11Event
Msg2CloseDesc.Convert, Msg2CloseDesc.Convert
Msg2DeleteDesc.Convert
Msg2ExitDesc.Convert
Msg2OpenDesc.Convert, Msg2OpenDesc.Convert
MsgDialogDesc.Init
MsgDialogDesc.PreInit
MsgDialogDesc.Receive
MsgDialogDesc.SetText
MsgObjectDesc.AddHandler
MsgObjectDesc.AttachModel
MsgObjectDesc.Forward
MsgObjectDesc.Init
MsgObjectDesc.Load
MsgObjectDesc.Receive
MsgObjectDesc.RemoveHandler
MsgObjectDesc.Resync
MsgObjectDesc.Send
MsgObjectDesc.SetId
MsgObjectDesc.Store
MsgObjectDesc.UnattachModel
MultiDesc.CalcSize
MultiDesc.Draw
MultiDesc.GetEntry
MultiDesc.GetFocus
MultiDesc.Hide
MultiDesc.Init
MultiDesc.Receive
MultiDesc.Refresh
MultiDesc.SetEntry
o
ObjectDesc.CalcSize
ObjectDesc.CanDrag
ObjectDesc.CanFocus
ObjectDesc.CanGrow
ObjectDesc.CanResize
ObjectDesc.CanShrink
ObjectDesc.ClearFlags
ObjectDesc.CopyBackground
ObjectDesc.Deselect
ObjectDesc.Disable
ObjectDesc.DisplayFocus
ObjectDesc.Draw
ObjectDesc.DrawBackground
ObjectDesc.DrawDisabled
ObjectDesc.DrawFocus
ObjectDesc.DrawHide
ObjectDesc.Free, ObjectDesc.Free
ObjectDesc.GetDnDObject
ObjectDesc.GetDragData
ObjectDesc.GetDragInfo
ObjectDesc.GetDropDataType
ObjectDesc.GetFocus
ObjectDesc.GetHelpObject
ObjectDesc.GetMenuObject
ObjectDesc.GetPosObject
ObjectDesc.GetSize
ObjectDesc.HandleDrop
ObjectDesc.HandleEvent
ObjectDesc.HasFocus
ObjectDesc.Hide
ObjectDesc.HideFocus
ObjectDesc.Init, ObjectDesc.Init
ObjectDesc.Intersect
ObjectDesc.LeaveFocus
ObjectDesc.Load
ObjectDesc.MayFocus
ObjectDesc.MouseIsIn
ObjectDesc.PointIsIn
ObjectDesc.Redraw
ObjectDesc.Refresh
ObjectDesc.RemoveFlags
ObjectDesc.Resize
ObjectDesc.RestrictToBounds
ObjectDesc.SetBackground
ObjectDesc.SetBackgroundObject
ObjectDesc.SetFlags
ObjectDesc.SetHeight
ObjectDesc.SetHelpObject
ObjectDesc.SetLabelObject
ObjectDesc.SetMenuObject
ObjectDesc.SetMinHeight
ObjectDesc.SetMinWidth
ObjectDesc.SetWidth
ObjectDesc.ShowFocus
ObjectDesc.StdFocus
ObjectDesc.Store
OszilDesc.CalcMinMax
OszilDesc.CalcSize
OszilDesc.Draw
OszilDesc.DrawPoint
OszilDesc.Free
OszilDesc.Hide
OszilDesc.Init
OszilDesc.Resize
OszilDesc.ResizePoints
OszilDesc.ResizeSize
OszilDesc.Resync
OszilDesc.SetColor
OszilDesc.SetInterval
OszilDesc.SetModel
OszilDesc.SetRange
OszilDesc.ShowFrame
p
PaneDesc.Add
PaneDesc.CalcSize
PaneDesc.Draw
PaneDesc.DrawSelection
PaneDesc.GetFocus
PaneDesc.HandleEvent
PaneDesc.Hide
PaneDesc.Init
PaneDesc.MoveObjects
PaneDesc.Refresh
PaneDesc.Set
PanelDesc.CalcSize
PanelDesc.Draw
PanelDesc.Hide
PanelDesc.Init
PanelDesc.Refresh
PanelDesc.Set
PatternLegendDesc.CalcSize
PatternLegendDesc.Draw
PatternLegendDesc.Hide
PatternLegendDesc.Init
PatternLegendDesc.Refresh
PatternLegendDesc.SetMaximum
PieChartDesc.AddValue
PieChartDesc.CalcSize
PieChartDesc.Draw
PieChartDesc.Hide
PieChartDesc.Init
PieChartDesc.SetTotal
PipeDesc.Init
PipeDesc.Lock
PipeDesc.Unlink
PipeDesc.Unlock
PlateDesc.Add
PlateDesc.CalcSize
PlateDesc.Draw
PlateDesc.Hide
PlateDesc.Init
PlateDesc.Refresh
PlateDesc.SetSpace
PopupDesc.AddKeyHandler
PopupDesc.CalcSize
PopupDesc.ContextHelp
PopupDesc.ContextMenu
PopupDesc.CursorIsIn
PopupDesc.Draw
PopupDesc.FocusIn
PopupDesc.FocusNext
PopupDesc.FocusObjectHides
PopupDesc.FocusOut
PopupDesc.GetDnDObject
PopupDesc.GetPosObject
PopupDesc.HandleEvent
PopupDesc.Hide
PopupDesc.Init
PopupDesc.PreInit
PopupDesc.Receive
PopupDesc.Redraw
PopupDesc.SetTop
PowerDesc.CalcSize
PowerDesc.Draw
PowerDesc.DrawBox
PowerDesc.Hide
PowerDesc.Init
PowerDesc.Receive
PrefsDesc.Free, PrefsDesc.Free
PrefsDesc.Init, PrefsDesc.Init, PrefsDesc.Init, PrefsDesc.Init, PrefsDesc.Init, PrefsDesc.Init, PrefsDesc.Init, PrefsDesc.Init, PrefsDesc.Init, PrefsDesc.Init, PrefsDesc.Init, PrefsDesc.Init, PrefsDesc.Init, PrefsDesc.Init, PrefsDesc.Init, PrefsDesc.Init, PrefsDesc.Init, PrefsDesc.Init, PrefsDesc.Init, PrefsDesc.Init, PrefsDesc.Init, PrefsDesc.Init, PrefsDesc.Init, PrefsDesc.Init, PrefsDesc.Init, PrefsDesc.Init, PrefsDesc.Init, PrefsDesc.Init, PrefsDesc.Init, PrefsDesc.Init
PrefsDesc.SetPrefs, PrefsDesc.SetPrefs, PrefsDesc.SetPrefs, PrefsDesc.SetPrefs, PrefsDesc.SetPrefs, PrefsDesc.SetPrefs, PrefsDesc.SetPrefs, PrefsDesc.SetPrefs, PrefsDesc.SetPrefs, PrefsDesc.SetPrefs, PrefsDesc.SetPrefs, PrefsDesc.SetPrefs, PrefsDesc.SetPrefs, PrefsDesc.SetPrefs, PrefsDesc.SetPrefs, PrefsDesc.SetPrefs, PrefsDesc.SetPrefs
PrefsItemDesc.Apply
PrefsItemDesc.ErrorWrongData
PrefsItemDesc.GetObject
PrefsItemDesc.Init
PrefsItemDesc.LoadPrefs
PrefsItemDesc.LoadPrefsFile
PrefsItemDesc.Refresh
PrefsItemDesc.Save
PrefsItemDesc.SaveItems
PrefsItemDesc.SetData
r
RadioDesc.CalcSize
RadioDesc.Draw
RadioDesc.DrawFocus
RadioDesc.GetFocus
RadioDesc.HandleEvent
RadioDesc.HandleFocusEvent
RadioDesc.Hide
RadioDesc.HideFocus
RadioDesc.Init
RadioDesc.IsIn
RadioDesc.Receive
RadioDesc.Resync
RadioDesc.SetModel
ReaderDesc.Assign
ReaderDesc.Backward
ReaderDesc.Forward
ReaderDesc.GetLine
ReaderDesc.Init
ReaderDesc.IsValid
ReaderDesc.Last
ReaderDesc.Next
ReaderDesc.Position
RealModelDesc.Add
RealModelDesc.Dec
RealModelDesc.Div
RealModelDesc.ForceSet
RealModelDesc.Inc
RealModelDesc.Init
RealModelDesc.Mul
RealModelDesc.Set
RealModelDesc.Sub
RealStrPipeDesc.Init
RealStrPipeDesc.Lock
RealStrPipeDesc.real2str
RealStrPipeDesc.Resync
RealStrPipeDesc.SetRealModel
RealStrPipeDesc.SetStringModel
RealStrPipeDesc.str2real
RealStrPipeDesc.Unlink
RealStrPipeDesc.Unlock
s
ScaleDesc.CalcSize
ScaleDesc.Draw
ScaleDesc.GetExp
ScaleDesc.Hide
ScaleDesc.Init
ScaleDesc.Pow10
ScaleDesc.SetDirection
ScaleDesc.SetInterval
ScrollerDesc.CalcSize
ScrollerDesc.Draw
ScrollerDesc.DrawKnob
ScrollerDesc.GetFocus
ScrollerDesc.HandleEvent
ScrollerDesc.HandleFocusEvent
ScrollerDesc.Hide
ScrollerDesc.Init
ScrollerDesc.Receive
ScrollerDesc.Resync
ScrollerDesc.Set
ScrollerDesc.SetModel
ScrollerDesc.SetOffset
Segment7Desc.CalcSize
Segment7Desc.Draw
Segment7Desc.DrawSegment
Segment7Desc.Hide
Segment7Desc.Init
Segment7Desc.SetOffColor
Segment7Desc.SetOnColor
Segment7Desc.SetValue
SegmentDesc.CalcSize
SegmentDesc.Draw
SegmentDesc.Hide
SegmentDesc.Init
SegmentDesc.SetForeground
SegmentDesc.SetString
SegmentDesc.SetStringWidth
SegmentDesc.StoreString
Sel2SetDesc.Convert
SettingsDesc.AddItem
SettingsDesc.ApplyPrefs
SettingsDesc.ExitOnClose
SettingsDesc.Init
SettingsDesc.LoadPrefs
SettingsDesc.Open
SettingsDesc.PreInit
SettingsDesc.Receive
SettingsDesc.SavePrefs
SettingsDesc.SetDisplay
ShortcutEntryDesc.Match
SimplEntryDesc.CalcSize
SimplEntryDesc.GetObject
SimplEntryDesc.SetObject
SinModelDesc.Dimension
SinModelDesc.Execute
SinModelDesc.Init
SinModelDesc.SetValue
SliderDesc.CalcSize
SliderDesc.Draw
SliderDesc.DrawFocus
SliderDesc.DrawKnob
SliderDesc.GetFocus
SliderDesc.HandleEvent
SliderDesc.HandleFocusEvent
SliderDesc.Hide
SliderDesc.HideFocus
SliderDesc.Init
SliderDesc.Resync
SliderDesc.Set
SliderDesc.SetModel
SliderDesc.SetRange
SliderDesc.UseScale
SpaceDesc.CalcSize
SpaceDesc.Draw
SpaceDesc.Hide
SpaceDesc.Init
SpaceDesc.Set
StatusLineDesc.CalcSize
StatusLineDesc.Draw
StatusLineDesc.Hide
StatusLineDesc.Init
StatusLineDesc.Refresh
StreamLongModelDesc.GetValue
StreamLongModelDesc.Init
StreamLongModelDesc.SetNotificationMode
StreamLongModelDesc.SetSize
StreamLongModelDesc.SetValue
StreamLongModelDesc.TriggerNotify
StringClockDesc.CalcSize
StringClockDesc.Draw
StringClockDesc.GetFocus
StringClockDesc.HandleEvent
StringClockDesc.Hide
StringClockDesc.Init
StringClockDesc.Receive
StringClockDesc.SetForeground
StringDesc.CalcSize
StringDesc.ClearSelection
StringDesc.DeleteSelection
StringDesc.Deselect
StringDesc.Draw
StringDesc.DrawFocus
StringDesc.DrawText
StringDesc.GetCursorPos
StringDesc.GetDnDObject
StringDesc.GetDragData
StringDesc.GetDragInfo
StringDesc.GetDropDataType
StringDesc.GetFocus
StringDesc.HandleDrop
StringDesc.HandleEvent
StringDesc.HandleFocusEvent
StringDesc.HandleKeys
StringDesc.Hide
StringDesc.HideFocus
StringDesc.Init
StringDesc.Resync
StringDesc.Selected
StringDesc.SetFont
StringDesc.SetModel
StringDesc.SetSelection
StringDesc.SetStringAlignment
StringDesc.SetStringWidth
StringModelDesc.Delete
StringModelDesc.GetCopy
StringModelDesc.GetString
StringModelDesc.Init
StringModelDesc.Insert
StringModelDesc.Set
t
TabDesc.AddTab
TabDesc.CalcSize
TabDesc.Disable
TabDesc.Draw
TabDesc.DrawFocus
TabDesc.DrawObject
TabDesc.DrawTab
TabDesc.DrawTop
TabDesc.GetDnDObject
TabDesc.GetEntry
TabDesc.GetFocus
TabDesc.GetPosObject
TabDesc.HandleEvent
TabDesc.HandleFocusEvent
TabDesc.Hide
TabDesc.HideFocus
TabDesc.Init
TabDesc.Refresh
TableDesc.CalcCol
TableDesc.CalcSize
TableDesc.Draw
TableDesc.DrawCell
TableDesc.DrawFocus
TableDesc.DrawHeader
TableDesc.DrawRow
TableDesc.DrawText
TableDesc.GetCell
TableDesc.GetFocus
TableDesc.HandleEvent
TableDesc.HandleFocusEvent
TableDesc.HandleKeys
TableDesc.Hide
TableDesc.HideFocus
TableDesc.Init
TableDesc.MakeVisible
TableDesc.RedrawCell
TableDesc.RedrawRow
TableDesc.ReInit
TableDesc.Resync
TableDesc.SetModel
TableDesc.SetSelectionType
TableModelDesc.GetColumns
TableModelDesc.GetColumnWidth
TableModelDesc.GetRows
TableModelDesc.GetText
TableModelDesc.Init
TestModelDesc.GetColumns
TestModelDesc.GetColumnWidth
TestModelDesc.GetRows
TestModelDesc.GetText
TestModelDesc.Init
TextDesc.AddTextToPart
TextDesc.AppendLine
TextDesc.CalcSize
TextDesc.CalcTextSize
TextDesc.CloseLine
TextDesc.Draw
TextDesc.DrawFocus
TextDesc.GetDnDObject
TextDesc.GetDragData
TextDesc.GetDragInfo
TextDesc.Hide
TextDesc.HideFocus
TextDesc.Init
TextDesc.NewLine
TextDesc.SetDefault
TextDesc.SetJustification
TextDesc.SetText
TextItemDesc.GetText
TextItemDesc.Init
TextItemDesc.SetText
TextModelDesc.GetReader
TextModelDesc.Init
TextModelDesc.ResizeMsg
TextModelDesc.ResyncMsg
TextView.LoadFile
TextViewDesc.CalcSize
TextViewDesc.Draw
TextViewDesc.Hide
TextViewDesc.Init
TextViewDesc.Resync
TextViewDesc.SetModel
TextViewDesc.ShowBottom
TileBackgroundDesc.CalcSize
TileBackgroundDesc.Copy
TileBackgroundDesc.Draw
TileBackgroundDesc.Free
TileBackgroundDesc.Init
ToolbarDesc.CalcSize
ToolbarDesc.Draw
ToolbarDesc.Hide
ToolbarDesc.Init
ToolbarDesc.Refresh
ToolbarDesc.SetEqualSize
TreeDesc.CalcSize
TreeDesc.Draw
TreeDesc.DrawFocus
TreeDesc.DrawItem
TreeDesc.DrawTree
TreeDesc.GetClickedEntryPos
TreeDesc.GetFocus
TreeDesc.HandleClick
TreeDesc.HandleEvent
TreeDesc.HandleFocusEvent
TreeDesc.HandleKeys
TreeDesc.Hide
TreeDesc.HideFocus
TreeDesc.Init
TreeDesc.MakeVisible
TreeDesc.ReInit
TreeDesc.Resync
TreeDesc.SetModel
TreeItemDesc.AddChild
TreeItemDesc.GetText
TreeItemDesc.HasChilds
TreeItemDesc.HideChilds
TreeItemDesc.Init
TreeItemDesc.InsertAfter
TreeItemDesc.IsVisible
TreeItemDesc.Last
TreeItemDesc.Next
TreeItemDesc.RecalcVisible
TreeItemDesc.ShowChilds
TreeItemDesc.UpdateChildCount
TreeItemDesc.VisibleParent
TreeModelDesc.GetVisibleItem
TreeModelDesc.Init
TreeModelDesc.RecalcVisible
TreeModelDesc.SetTop
v
ValueItemDesc.Print
ValueItemDesc.SetBool
ValueItemDesc.SetInt
ValueItemDesc.SetValue
VecImageDesc.CalcSize
VecImageDesc.Draw
VecImageDesc.DrawFocus
VecImageDesc.DrawRectangle
VecImageDesc.Hide
VecImageDesc.HideFocus
VecImageDesc.Set
VOArray.Count
VOBackground.LoadBackground
VOBackground.SaveBackground
VOClock.cos
VOClock.sin
VODisplay.ConvertField
VODisplay.CreatePixmapCursor
VODisplay.GetField
VODisplay.XFree
VODoom.IsHit
VOEvent.GetEvent
VOFrame.GetFrameEntry
VOGUIObject.GetAlignment
VOGUIObject.MaxLong
VOGUIObject.MinLong
VOGUIObject.RoundRange
VOLightChain.InitChar
VOListModel.NewSimplEntry
VOListModel.NewTextEntry
VOLLFor.GetDirName
VOLLInt.closedir
VOLLInt.opendir
VOLLInt.readdir
VOLLInt.select
VOLLMac.FD, VOLLMac.FD, VOLLMac.FD, VOLLMac.FD
VOMenu.InitMenu
VOMsgDialog.Dialog
VOObject.Create
VOObject.FindRef
VOOOCP.AddBool
VOOOCP.AddList
VOOOCP.AddString
VOPlot.Classify
VOPlot.Clip
VOPlot.DonePlot
VOPlot.Empty
VOPlot.LogOf
VOPlot.PlotLine
VOPlot.PlotMinorX
VOPlot.PlotMinorY
VOPlot.PutCh
VOPlot.PutExp
VOPlot.PutNumDig
VOPlot.RealToString
VOPrefs.Free
VOPrefsGUI.CreateFrameButton
VOPrefsGUI.CreateImageButton
VOPrefsGUI.Msg
VOPrefsGUI.PrefsCallback
VOPrefsGUI.StdErrorProc
VOPrefsParser.Block, VOPrefsParser.Block
VOPrefsParser.Entry, VOPrefsParser.Entry
VOPrefsParser.Error
VOPrefsParser.Expect
VOPrefsParser.ExpectWeak
VOPrefsParser.FindSlash
VOPrefsParser.Get
VOPrefsParser.Ident, VOPrefsParser.Ident
VOPrefsParser.Initialize
VOPrefsParser.Number, VOPrefsParser.Number
VOPrefsParser.Parameter, VOPrefsParser.Parameter
VOPrefsParser.Parse
VOPrefsParser.StartOf
VOPrefsParser.String, VOPrefsParser.String
VOPrefsParser.VOPrefs, VOPrefsParser.VOPrefs
VOPrefsParser.WeakSeparator
VOPrefsScanner.CheckLiteral
VOPrefsScanner.Comment
VOPrefsScanner.Get
VOPrefsScanner.GetName
VOPrefsScanner.Initialize
VOPrefsScanner.NextCh
VOPrefsScanner.StdErrorProc
VOQuickHelp.InitHelp
VOText.MakeCenterText
VOText.MakeLeftText
VOTreeModel.CreateTextItem
VOUtil.EscapeString
VOUtil.RoundDiv
VOUtil.RoundUpEven
VOUtil.UpDiv
VOVecImage.GetImageEntry
VOXpmImage.PrintError
w
WindowDesc.AddFreeList
WindowDesc.AddKeyHandler
WindowDesc.Borderless
WindowDesc.Close
WindowDesc.ClosePressed, WindowDesc.ClosePressed
WindowDesc.ContextHelp, WindowDesc.ContextHelp
WindowDesc.ContextMenu, WindowDesc.ContextMenu
WindowDesc.CreateAllways
WindowDesc.Delete
WindowDesc.Draw, WindowDesc.Draw
WindowDesc.FocusIn, WindowDesc.FocusIn
WindowDesc.FocusNext, WindowDesc.FocusNext
WindowDesc.FocusObjectHides, WindowDesc.FocusObjectHides
WindowDesc.FocusOut, WindowDesc.FocusOut
WindowDesc.GetDnDObject, WindowDesc.GetDnDObject
WindowDesc.GetMousePos
WindowDesc.GetPosObject
WindowDesc.GetXY
WindowDesc.Grab
WindowDesc.GrabOff
WindowDesc.GrabOn
WindowDesc.HandleDrag
WindowDesc.HandleDragDrop
WindowDesc.HandleEvent, WindowDesc.HandleEvent
WindowDesc.HandleXSelectionNotify
WindowDesc.HandleXSelectionRequest
WindowDesc.Hidden
WindowDesc.Hide, WindowDesc.Hide
WindowDesc.Init, WindowDesc.Init
WindowDesc.Left
WindowDesc.Maped
WindowDesc.Open
WindowDesc.PreInit, WindowDesc.PreInit
WindowDesc.Receive
WindowDesc.Redraw, WindowDesc.Redraw
WindowDesc.ReinitWindow, WindowDesc.ReinitWindow
WindowDesc.Resize
WindowDesc.Resized, WindowDesc.Resized
WindowDesc.SetBackground
WindowDesc.SetDisplay
WindowDesc.SetMaxSize
WindowDesc.SetMinSize
WindowDesc.SetModal
WindowDesc.SetParent
WindowDesc.SetPos
WindowDesc.SetPosition
WindowDesc.SetSize
WindowDesc.SetTitle
WindowDesc.SetTop
WindowDesc.Unmaped, WindowDesc.Unmaped
WireFrameDesc.AddLine
WireFrameDesc.CalcSize
WireFrameDesc.Draw
WireFrameDesc.DrawBox
WireFrameDesc.Free
WireFrameDesc.Hide
WireFrameDesc.Init
WireFrameDesc.Receive
WireFrameDesc.SetViewer
x
xpm.XpmAttributesSize
xpm.XpmCreateBufferFromImage
xpm.XpmCreateBufferFromPixmap
xpm.XpmCreateBufferFromXpmImage
xpm.XpmCreateDataFromImage
xpm.XpmCreateDataFromPixmap
xpm.XpmCreateDataFromXpmImage
xpm.XpmCreateImageFromBuffer
xpm.XpmCreateImageFromData
xpm.XpmCreateImageFromXpmImage
xpm.XpmCreatePixmapFromBuffer
xpm.XpmCreatePixmapFromData
xpm.XpmCreatePixmapFromXpmImage
xpm.XpmCreateXpmImageFromBuffer
xpm.XpmCreateXpmImageFromData
xpm.XpmCreateXpmImageFromImage
xpm.XpmCreateXpmImageFromPixmap
xpm.XpmFreeAttributes
xpm.XpmFreeExtensions
xpm.XpmFreeXpmImage
xpm.XpmFreeXpmInfo
xpm.XpmGetErrorString
xpm.XpmLibraryVersion
xpm.XpmReadFileToBuffer
xpm.XpmReadFileToData
xpm.XpmReadFileToImage
xpm.XpmReadFileToPixmap
xpm.XpmReadFileToXpmImage
xpm.XpmWriteFileFromBuffer
xpm.XpmWriteFileFromData
xpm.XpmWriteFileFromImage
xpm.XpmWriteFileFromPixmap
xpm.XpmWriteFileFromXpmImage
XpmImageDesc.CalcSize
XpmImageDesc.Draw
XpmImageDesc.Free
XpmImageDesc.Hide
XpmImageDesc.Init
XpmImageDesc.SetAlignment
XpmImageDesc.SetFilename
XpmImageDesc.SetMode
XTest.MakeOKPopup
XTest.NewImage
XTest.NewImageEntry
a
About
Addresses
Attribute index
c
Class index
Clipping
color handling
Concept index
Concepts
Configuration
Copying
d
Design criteria
Drag & drop for the user
Drag and drop
Drawing
Drawing concept
f
font handling
Function index
g
General object handling
GNU license
Grouping
GUIObject concept
i
Information about Oberon-2
Internal drag & drop mechanism
k
Keyboard focus
l
Layouting
m
Messagesystem
Module index
Modules
MV-concept
o
Object sizing
w
What is missing?
What is the current status?
What is VisualOberon?
x
XpmImages
This document was generated on 13 December 1998 using the
texi2html
translator version 1.51.