All pastes #255379 Raw Edit

Someone

public text v1 · immutable
#255379 ·published 2006-11-22 22:24 UTC
rendered paste body
! Groupe 3CT307 :  Edouard COUPEZ, Ludovic MARCÉ, Jing ZHOU
! Date de dernière modification: 09/12/2005
! Description:
! Ce fichier écrit en langage UIL décrit l'allure de l'interface.


module Interface
	version = 'V1.0'
	names = case_sensitive
	character_set = iso_latin1

procedure
	cbQuitter();
	cbNouveau(any);
!	cbApropos();
	cbOutil(integer);
	cbCouleur(integer);
	cbEpaisseur();
	cbDessin();
	cbMajPointeur(any);
	cbContraindre(integer);
	cbRemplissage(integer);
	!cbRedimensionnement();
	
value
	CRAYON: 0;
	GOMME: 1;
	LIGNE: 2;
	RECTANGLE: 3;
	ELIPSE: 4;
	RIEN: 5;

	BLANC: 0;
	NOIR: 1;
	ROUGE: 2;
	JAUNE: 3;
	VERT: 4;
	BLEU: 5;

!	false: 0;
!	true: 1;



identifier
	datas; ! Liste les differentes donnees associees au programme
	outilEnCours;


!-- Zone principale
object
	wPrincipal: XmMainWindow
	{
		arguments 
		{
			XmNwidth = 800;
			XmNheight = 600;
		};
		controls 
		{
			XmMenuBar mbMenuHaut;
			XmForm zoneTravail;
		};
	};

object
	zoneTravail: XmForm
	{
		arguments
		{
			XmNwidth = 800;
			XmNheight = 600;
			XmNbackground = rgb(60000,60000,60000);
		};
		controls
		{
			XmDrawingArea zoneDessin;
			XmDrawnButton dbCrayon;
			XmDrawnButton dbGomme;
			XmDrawnButton dbLigne;
			XmDrawnButton dbRectangle;
			XmDrawnButton dbElipse;
			XmDrawnButton dbNouveau;
			XmScale sEpaisseur;
			XmSeparator separateurOutils;
			XmSeparator separateurHaut;
			XmLabel txtRemplissage;
			XmRadioBox rbRemplissage;
			XmLabel txtContraindre;
			XmRadioBox rbContraindre;
			XmDrawnButton dbBlanc;
			XmDrawnButton dbNoir;
			XmDrawnButton dbRouge;
			XmDrawnButton dbJaune;
			XmDrawnButton dbVert;
			XmDrawnButton dbBleu;
			
		};
	};

	zoneDessin: XmDrawingArea
	{
		arguments
		{
		XmNborderWidth = 1;
		XmNleftAttachment = XmATTACH_FORM;
		XmNtopAttachment = XmATTACH_FORM;
		XmNwidth = 800;
		XmNheight = 600;
		XmNbackground = rgb(65535,65535,65535);
		XmNrightAttachment = XmATTACH_POSITION;
		XmNbottomAttachment = XmATTACH_POSITION;
		XmNresizable = true;
		XmNrightPosition = 95;
		XmNbottomPosition = 80;
		XmNleftOffset = 150;
		XmNtopOffset = 10;
		};
		callbacks
		{
			XmNinputCallback = procedure cbDessin();
			!XmNresizeCallback = procedure cbRedimensionnement();
		};
	};
	
	
!-- Barre de Menus
object	mbMenuHaut: XmMenuBar {
	controls {
		XmCascadeButton cb_fichier;
!		XmCascadeButton cb_outils;
!		XmCascadeButton cb_aide;
	};
};


! Menu Fichier
object	cb_fichier: XmCascadeButton {
	arguments {
		XmNlabelString = compound_string("Fichier");
	};
	controls {
		XmPulldownMenu pd_fichier;
	};
};

object	pd_fichier: XmPulldownMenu {
	controls {
		XmPushButton pb_nouveau;
		XmPushButton pb_quitter;
	};
};

object	pb_nouveau : XmPushButton {
	arguments {
		XmNlabelString = compound_string("Nouveau");
	};
	callbacks {
		XmNactivateCallback = procedure cbNouveau(zoneDessin);
	};
};

object	pb_quitter : XmPushButton {
	arguments {
		XmNlabelString = compound_string("Quitter");
	};
	callbacks {
		XmNactivateCallback = procedure cbQuitter();
	};
};

/*
! Menu Aide

object	cb_aide: XmCascadeButton {
	arguments {
		XmNlabelString = compound_string("Aide");
	};
	controls {
		XmPulldownMenu pd_aide;
	};
};

object	pd_aide: XmPulldownMenu {
	controls {
		XmPushButton pb_apropos;
	};
};

object	pb_apropos : XmPushButton {
	arguments {
		XmNlabelString = compound_string("A propos");
	};
	callbacks {
		XmNactivateCallback = procedure cbApropos();
	};
};
*/

!-- Outils

object	separateurHaut: XmSeparator
{
	arguments
	{
		!XmNseparatorType = XmSINGLE_LINE;
		XmNy = 80;
		XmNwidth = 132;
		XmNleftAttachment = XmATTACH_FORM;
		XmNleftOffset = 10;
		XmNrightOffset = 10;
	};
};

object	dbCrayon: XmDrawnButton 
{
	arguments 
	{
		XmNx = 15;
		XmNy = 25;
		XmNwidth = 11;
		XmNheight = 100;
		XmNleftAttachment = XmATTACH_FORM;
		XmNtopAttachment = XmATTACH_FORM;
		XmNlabelType = XmPIXMAP;
		XmNbackgroundPixmap = xbitmapfile('crayon.xpm');
		XmNshadowType = XmSHADOW_OUT;
		XmNshadowThickness = 1;
		XmNleftOffset = 67;
		XmNtopOffset = 100;
		XmNhighlightThickness = 0;
	};
	callbacks {
		XmNactivateCallback = procedure cbOutil(CRAYON);
		XmNdisarmCallback = procedure cbMajPointeur(zoneDessin);
	};
	
};

object	dbGomme: XmDrawnButton 
{
	arguments 
	{
		XmNx = 15;
		XmNy = 25;
		XmNwidth = 32;
		XmNheight = 52;
		XmNleftAttachment = XmATTACH_FORM;
		XmNtopAttachment = XmATTACH_FORM;
		XmNbackgroundPixmap = xbitmapfile ('gomme.xpm');
		XmNshadowType = XmSHADOW_OUT;
		XmNshadowThickness = 1;
		XmNleftOffset = 85;
		XmNtopOffset = 105;
		XmNhighlightThickness = 0;

	};
	callbacks {
		XmNactivateCallback = procedure cbOutil(GOMME);
		XmNdisarmCallback = procedure cbMajPointeur(zoneDessin);

	};

};

object	dbLigne: XmDrawnButton 
{
	arguments 
	{
		XmNx = 15;
		XmNy = 25;
		XmNwidth = 30;
		XmNheight = 148;
		XmNleftAttachment = XmATTACH_FORM;
		XmNtopAttachment = XmATTACH_FORM;
		XmNbackgroundPixmap = xbitmapfile ('regle.xpm');
		XmNshadowType = XmSHADOW_OUT;
		XmNshadowThickness = 1;
		XmNleftOffset = 25;
		XmNtopOffset = 100;
		XmNhighlightThickness = 0;

	};
	callbacks {
		XmNactivateCallback = procedure cbOutil(LIGNE);
		XmNdisarmCallback = procedure cbMajPointeur(zoneDessin);

	};
};

object	separateurOutils: XmSeparator
{
	arguments
	{
		XmNseparatorType = XmSHADOW_ETCHED_IN_DASH;
		XmNy = 252;
		XmNwidth = 132;
		XmNleftAttachment = XmATTACH_FORM;
		XmNleftOffset = 10;
	};
};

object	dbRectangle: XmDrawnButton 
{
	arguments 
	{
		XmNx = 15;
		XmNy = 25;
		XmNwidth = 80;
		XmNheight = 50;
		XmNleftAttachment = XmATTACH_FORM;
		XmNtopAttachment = XmATTACH_FORM;
		XmNbackgroundPixmap = xbitmapfile ('equerre.xpm');
		XmNshadowType = XmSHADOW_OUT;
		XmNshadowThickness = 1;
		XmNleftOffset = 10;
		XmNtopOffset = 260;
		XmNhighlightThickness = 0;

	};
	callbacks {
		XmNactivateCallback = procedure cbOutil(RECTANGLE);
		XmNdisarmCallback = procedure cbMajPointeur(zoneDessin);

	};
};

object	dbElipse: XmDrawnButton 
{
	arguments 
	{
		XmNx = 15;
		XmNy = 25;
		XmNwidth = 50;
		XmNheight = 80;
		XmNleftAttachment = XmATTACH_FORM;
		XmNtopAttachment = XmATTACH_FORM;
		XmNbackgroundPixmap = xbitmapfile ('compas.xpm');
		XmNshadowType = XmSHADOW_OUT;
		XmNshadowThickness = 1;
		XmNleftOffset = 95;
		XmNtopOffset = 260;
		XmNhighlightThickness = 0;

	};
	callbacks {
		XmNactivateCallback = procedure cbOutil(ELIPSE);
		XmNdisarmCallback = procedure cbMajPointeur(zoneDessin);

	};
};


object	dbNouveau: XmDrawnButton 
{
	arguments 
	{
		XmNx = 15;
		XmNy = 25;
		XmNwidth = 130;
		XmNheight = 50;
		XmNleftAttachment = XmATTACH_FORM;
		XmNtopAttachment = XmATTACH_FORM;
		XmNbackgroundPixmap = xbitmapfile ('nouveau.xpm');
		XmNpushButtonEnabled = true;
		XmNshadowType = XmSHADOW_OUT;
		XmNshadowThickness = 1;
		XmNleftOffset = 10;
		XmNtopOffset = 20;
		XmNhighlightThickness = 0;

	};
	callbacks {
		XmNactivateCallback = procedure cbNouveau(zoneDessin);
	};
};


! Ensemble permettant a l'utilisateur d'indiquer si il veut ou pas remplir les formes
object	txtRemplissage: XmLabel
{
	arguments
	{
		XmNx = 15;
		XmNy = 25;
		XmNlabelString = "Remplir les formes ?";
		XmNleftAttachment = XmATTACH_FORM;
		XmNtopAttachment = XmATTACH_FORM;
		XmNleftOffset = 10;
		XmNtopOffset = 380;
		XmNbackground = rgb(60000,60000,60000);

	};
};
object	rbRemplissage: XmRadioBox
{
	arguments
	{
		XmNorientation = XmHORIZONTAL;
		XmNx = 15;
		XmNy = 25;
		XmNleftAttachment = XmATTACH_FORM;
		XmNtopAttachment = XmATTACH_FORM;
		XmNleftOffset = 20;
		XmNtopOffset = 395;
		XmNpacking = XmPACK_TIGHT;
		XmNbackground = rgb(60000,60000,60000);

	};
	controls
	{
		XmToggleButton tbRemplissageOn;
		XmToggleButton tbRemplissageOff;
	};
};

object	tbRemplissageOn: XmToggleButton
{
	arguments
	{
		XmNlabelString = "Oui";
		XmNindicatorType = XmONE_OF_MANY;
		XmNbackground = rgb(60000,60000,60000);

	};
	callbacks
	{
		XmNarmCallback = procedure cbRemplissage(1);
	};
};
object	tbRemplissageOff: XmToggleButton
{
	arguments
	{
		XmNlabelString = "Non";
		XmNindicatorType = XmONE_OF_MANY;
		XmNset = true;
		XmNbackground = rgb(60000,60000,60000);

	};
	callbacks
	{
		XmNarmCallback = procedure cbRemplissage(0);
	};
};


! Ensemble permettant d'indiquer si on veut contraindre les proportions (carre/cercles)
!  ou pas (rectangles/elipses)
object	txtContraindre: XmLabel
{
	arguments
	{
		XmNx = 15;
		XmNy = 25;
		XmNlabelString = "Bords egaux ?";
		XmNleftAttachment = XmATTACH_FORM;
		XmNtopAttachment = XmATTACH_FORM;
		XmNleftOffset = 10;
		XmNtopOffset = 335;
		XmNbackground = rgb(60000,60000,60000);
	};
};

object	rbContraindre: XmRadioBox
{
	arguments
	{
		XmNorientation = XmHORIZONTAL;
		XmNx = 15;
		XmNy = 25;
		XmNleftAttachment = XmATTACH_FORM;
		XmNtopAttachment = XmATTACH_FORM;
		XmNleftOffset = 20;
		XmNtopOffset = 350;
		XmNpacking = XmPACK_TIGHT;
		XmNbackground = rgb(60000,60000,60000);
	};
	controls
	{
		XmToggleButton tbContraindreOn;
		XmToggleButton tbContraindreOff;
	};
};

object	tbContraindreOn: XmToggleButton
{
	arguments
	{
		XmNlabelString = "Oui";
		XmNindicatorType = XmONE_OF_MANY;
		XmNbackground = rgb(60000,60000,60000);
	};
	callbacks
	{
		XmNarmCallback = procedure cbContraindre(1);
	};
};
object	tbContraindreOff: XmToggleButton
{
	arguments
	{
		XmNlabelString = "Non";
		XmNindicatorType = XmONE_OF_MANY;
		XmNset = true;
		XmNbackground = rgb(60000,60000,60000);
	};
	callbacks
	{
		XmNarmCallback = procedure cbContraindre(0);
	};
};


! Reglage de l'epaisseur du trait
object sEpaisseur: XmScale
{
	arguments
	{
		XmNx = 15;
		XmNy = 25;
		XmNwidth = 130;
		XmNheight = 50;
		XmNleftAttachment = XmATTACH_FORM;
		XmNtopAttachment = XmATTACH_FORM;
		XmNleftOffset = 10;
		XmNtopOffset = 430;
		XmNminimum = 1;
		XmNmaximum = 10;
		XmNorientation = XmHORIZONTAL;
		XmNshowValue = true;
		XmNtitleString = "Epaisseur du trait";
		XmNbackground = rgb(60000,60000,60000);
	};
	callbacks
	{
		XmNdragCallback = procedure cbEpaisseur();
	};
};

! Boutons pour changer de couleur

object	dbBlanc: XmDrawnButton 
{
	arguments 
	{
		XmNx = 15;
		XmNy = 25;
		XmNwidth = 70;
		XmNheight = 70;
		XmNleftAttachment = XmATTACH_FORM;
		XmNbottomAttachment = XmATTACH_FORM;
		XmNbackgroundPixmap = xbitmapfile ('blanc.xpm');
		XmNshadowType = XmSHADOW_OUT;
		XmNshadowThickness = 1;
		XmNleftOffset = 160;
		XmNbottomOffset = 25;
		XmNhighlightThickness = 0;

	};
	callbacks {
		XmNactivateCallback = procedure cbCouleur(BLANC);
		XmNdisarmCallback = procedure cbMajPointeur(zoneDessin);
	};
};

object	dbNoir: XmDrawnButton 
{
	arguments 
	{
		XmNx = 15;
		XmNy = 25;
		XmNwidth = 70;
		XmNheight = 70;
		XmNleftAttachment = XmATTACH_FORM;
		XmNbottomAttachment = XmATTACH_FORM;
		XmNbackgroundPixmap = xbitmapfile ('noir.xpm');
		XmNshadowType = XmSHADOW_OUT;
		XmNshadowThickness = 1;
		XmNleftOffset = 240;
		XmNbottomOffset = 25;
		XmNhighlightThickness = 0;

	};
	callbacks {
		XmNactivateCallback = procedure cbCouleur(NOIR);
		XmNdisarmCallback = procedure cbMajPointeur(zoneDessin);
	};
};

object	dbJaune: XmDrawnButton 
{
	arguments 
	{
		XmNx = 15;
		XmNy = 25;
		XmNwidth = 70;
		XmNheight = 70;
		XmNleftAttachment = XmATTACH_FORM;
		XmNbottomAttachment = XmATTACH_FORM;
		XmNbackgroundPixmap = xbitmapfile ('jaune.xpm');
		XmNshadowType = XmSHADOW_OUT;
		XmNshadowThickness = 1;
		XmNleftOffset = 400;
		XmNbottomOffset = 25;
		XmNhighlightThickness = 0;

	};
	callbacks {
		XmNactivateCallback = procedure cbCouleur(JAUNE);
		XmNdisarmCallback = procedure cbMajPointeur(zoneDessin);
	};
};

object	dbRouge: XmDrawnButton 
{
	arguments 
	{
		XmNx = 15;
		XmNy = 25;
		XmNwidth = 70;
		XmNheight = 70;
		XmNleftAttachment = XmATTACH_FORM;
		XmNbottomAttachment = XmATTACH_FORM;
		XmNbackgroundPixmap = xbitmapfile ('rouge.xpm');
		XmNshadowType = XmSHADOW_OUT;
		XmNshadowThickness = 1;
		XmNleftOffset = 480;
		XmNbottomOffset = 25;
		XmNhighlightThickness = 0;

	};
	callbacks {
		XmNactivateCallback = procedure cbCouleur(ROUGE);
		XmNdisarmCallback = procedure cbMajPointeur(zoneDessin);
	};
};
object	dbVert: XmDrawnButton 
{
	arguments 
	{
		XmNx = 15;
		XmNy = 25;
		XmNwidth = 70;
		XmNheight = 70;
		XmNleftAttachment = XmATTACH_FORM;
		XmNbottomAttachment = XmATTACH_FORM;
		XmNbackgroundPixmap = xbitmapfile ('vert.xpm');
		XmNshadowType = XmSHADOW_OUT;
		XmNshadowThickness = 1;
		XmNleftOffset = 560;
		XmNbottomOffset = 25;
		XmNhighlightThickness = 0;

	};
	callbacks {
		XmNactivateCallback = procedure cbCouleur(VERT);
		XmNdisarmCallback = procedure cbMajPointeur(zoneDessin);
	};
};
object	dbBleu: XmDrawnButton 
{
	arguments 
	{
		XmNx = 15;
		XmNy = 25;
		XmNwidth = 70;
		XmNheight = 70;
		XmNleftAttachment = XmATTACH_FORM;
		XmNbottomAttachment = XmATTACH_FORM;
		XmNbackgroundPixmap = xbitmapfile ('bleu.xpm');
		XmNshadowType = XmSHADOW_OUT;
		XmNshadowThickness = 1;
		XmNleftOffset = 640;
		XmNbottomOffset = 25;
		XmNhighlightThickness = 0;

	};
	callbacks {
		XmNactivateCallback = procedure cbCouleur(BLEU);
		XmNdisarmCallback = procedure cbMajPointeur(zoneDessin);
	};
};
		
end module;