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