/****************************************************************** * * * Nest version 2 - 3D Wasp Nest Simulator * * Copyright (C) 1997 Sylvain GUERIN * * LIASC, ENST Bretagne & Santa Fe Institute * * * ****************************************************************** E-mail: Sylvain.Guerin@enst-bretagne.fr or: Sylvain Guerin 13 rue des Monts Lorgeaux, 51460 L'EPINE, FRANCE ****************************************************************** 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. ****************************************************************** Name : ViewInt.h Component : view interface (architectures visualisation) Fonctionality : contains specifications refering to the view interface ******************************************************************/ #ifndef __ViewInterface_H #define __ViewInterface_H #include "graphical.h" #include "algo.h" #include "view3d.h" class ViewInterface : public Interface { public: ViewInterface (Interface* theMainInterface, int x0, int y0, int aWidth, int aHeight, int constSize, char* windowLabel, char* iconLabel, Display* aDisplay, Architecture* anArch, SimulationType aSimuType, Window aPreviewWindow, int defaultSize); /* taille de l'arch si pas initialisee */ virtual ~ViewInterface (); actionType manageInterface (XEvent report); void refresh (); void setArchitecture (Architecture* anArch); void displayView3d (); int isCut; /* 1 when view is cut, else 0 */ int alreadyComputed; protected: Interface* mainInterface; View* aView; Architecture* anArchitecture; /* graphics objects */ Button* exitButton; Button* resizeButton; Button* cutButton; Button* settingsButton; RoundPanel* translatePanel; GraphicWindow* view3d; LeftArrow* leftButton; RightArrow* rightButton; UpArrow* upButton; DownArrow* downButton; UpSquare* alphaUpButton; DownSquare* alphaDownButton; TextWidget* alphaText; TextWidget* alphaTextLabel; UpSquare* tetaUpButton; DownSquare* tetaDownButton; TextWidget* tetaText; TextWidget* tetaTextLabel; UpSquare* phiUpButton; DownSquare* phiDownButton; TextWidget* phiText; TextWidget* phiTextLabel; UpSquare* zoomUpButton; DownSquare* zoomDownButton; TextWidget* zoomText; TextWidget* zoomTextLabel; UpSquare* zCutUpButton; DownSquare* zCutDownButton; TextWidget* zCutText; TextWidget* zCutTextLabel; UpSquare* tetaCutUpButton; DownSquare* tetaCutDownButton; TextWidget* tetaCutText; TextWidget* tetaCutTextLabel; UpSquare* phiCutUpButton; DownSquare* phiCutDownButton; TextWidget* phiCutText; TextWidget* phiCutTextLabel; /* view settings */ int continueRetracing; int retracingSteps; Enumeration continueRetracingEnum; GraphicWindow* viewIcon; void createWindows (); void deleteWindows (); void changeAlphaText (); void changeTetaText (); void changePhiText (); void changeZoomText (); void changeTetaCutText (); void changePhiCutText (); void changeZCutText (); void manageSettings (); /* flag indiquant si c'est une construction pendant la simu, auquel cas, on a beaucoup moins de fenetres, et ca, faut le savoir */ int lightInterface; }; #endif