Week 11
User Interface for the Internet application
The general structure of the GUI
Until now the user interface for the medicine network application contains
three components, has a menu and will contain another component with some
icons. These will have the same functionality as the menuitems, to make
things a bit easier for users. The documentation is
here
The picture shows a snapshot of the user interface showing a loaded image.
Components of the GUI
- The Imageviewer
- currently is the only component the functionality of which is
implemented yet in an seperate class. It has to provide the application
with a component that can show an image and can react on inputs of the
user. That means it can draw pixels and lines when a user clicks on a
point in it or moves the mouse with dragged mousebutton over this component.
Moreover it has to be able to react on inputs done by the application itself.
For that component is part of a network application it has to be able to
receive and send data over that network. Actually it will get that data from and give
the data to the application which has to manage all the dataflow that occurs between
the modules of it.
For now this component can load an image, show this image and can react on mouse events
by drawing pixels, with a constant color value, on that component. To have a closer look
at the class follow this link to its documentation:
the ImageViewer class
To be able to store a sequence of pixel values in the programm I created three
new classes. One is able to hold the pixel position and color which I named Pixel.
The next is an extension of Pixel named PixelItem which holds the data of
another PixelItem. The third class I named PixelQueue. It holds three PixelItems,
that are the start PixelItem, the end PixelItem and the current PixelItem of the
queue. Moreover it provides with some functions to manipulate the queue, for example
add an Item, remove another and to move the current. Other functions return the values of the
current item. If you want to have a closer look at them please follw the links:
the Pixel class
the PixelItem class
the PixelQueue class
- The textarea
- The Textarea will be replaced by a component able to send and receive Textdata.
Text that is typed and confirmed by typed enter, will be given to the application to
be spread to all connected Clients. Received Text will be shown in it. It will make the
Chatroom of that application.
- The message label
- That component receives status messages from the application and shows it. Currently the message, which File has been opened, is shown.
- The Menu and its Items
- The Menu actually not a component of the user interface but never the less a part of
it has four submenus which are the following:
the file menu with the open, close, save and exit items;
the session menu with the connect, disconnect and options item;
the edit menu with the shapes item and
the view menu with the items item.
Have a look at the documentation
The next paragraph is about the work for the other part of the project.
Reorganising the Image Processing Task
I (Matthias) looked in the other Image Processing library and made sure I can
compile it under Linux. Because the Image Loader of the library are looking
more as a hack than a well programmed File Loader and because the images
arriving here in a
Papyrus 3.x
image format, I programmed an Papyrus Image Loader for that library using the
Papyrus Toolkit for Unix. This loader is not ready yet, and therefore I do not
have any sources to show.
The only things I can show are the Makefiles
of the Papyrus Toolkit and the Image Processing library. I wrote new ones for
the Papyrus Toolkit to compile under Linux, but they should work under other
operating systems as well. I added a few things to the Makefiles of the Image
Processing library for compiling under Linux.
Some short notes about these Makefiles:
- Papyrus 3.5:
- You have to copy both
Jpg*/
directories in one, named
Jpeg/
.
- All object and target files are kept in the source directory.
- Image Processing library:
- Because you do not have the source code the Makefiles are not very useful.
- There were some minor changes to the source code as well.
[startpage]
[project part 1]
[project part 2]
[week 1] [week 2]
[week 3] [week 4]
[week 5] [week 6]
[week 7] [week 8]
[week 9] [week 10]
[week 11]
[References]
Because english is not the native language of the authors, we
apologize for any inconvenience.
© 1998 by Matthias Kraft & Gesine Schröter;
EMail to: M.Kraft@fhtw-berlin.de & g.schroeter@fhtw-berlin.de
Last changed: Sunday, 08-Feb-2009 12:42:19 CET