source: trunk/IPs/systemC/processor/Morpheo/Tools/Viewer/Graphics/src/Graphics_mouseEvent.cpp @ 21

Last change on this file since 21 was 21, checked in by chou, 17 years ago

2eme release du viewer
Mise a jour graphique du Viewer.

  • Property svn:executable set to *
File size: 2.8 KB
Line 
1#include "window.h"
2
3using namespace std;
4using namespace morpheo::tools::viewer::parser;
5using namespace morpheo::tools::viewer::bdd;
6using namespace morpheo::tools::viewer::graphics;
7
8void Window::mousePressEvent (QMouseEvent *e){
9 
10  if(paint && (p.getArchitecture() != NULL)){
11
12    compo = p.getComponent();
13   
14   
15    QMouseEvent *mouseEvent = (QMouseEvent *) e;
16   
17    mouseX = mouseEvent->x();
18    mouseY = mouseEvent->y();
19   
20   
21    for(QList<Component>::iterator it=compo->begin();it!=compo->end();++it){
22      Coord *co = it->get_Position();
23      int px = co->get_hg_x();
24      int py = co->get_hg_y();
25      int taillex = co->get_size_x();
26      int tailley = co->get_size_y();
27     
28      if(e->type() == QMouseEvent::MouseButtonDblClick && e->button() == Qt::LeftButton){
29       
30        if(mouseX >= px + MARGEX  && mouseY >= py +MARGEY && mouseX <= px+taillex + MARGEX  && mouseY <= py+tailley + MARGEY) {
31         
32          paint = false;
33          repaint();
34           
35          mess = new QWidget();
36          mess->setFixedSize(200,50);
37          mess->move(200,50);
38          QBoxLayout *b = new QBoxLayout(QBoxLayout::TopToBottom,0);
39          QLabel *l = new QLabel();
40          l->setText("please wait while charging");
41          b->addWidget(l);
42          mess->setLayout(b);
43          mess->show();
44          mess_open = true;
45         
46          p=base->get_BasePos(it->getType());
47          entity = p.getEntity();
48          c = new Coord(250,250,250,250);
49          port_east = entity->getPortEast(c);
50          port_west = entity->getPortWest(c);
51          port_north = entity->getPortNorth(c);
52          port_south = entity->getPortSouth(c);
53          paint = true;
54          father = current;
55          current = QString::fromStdString(it->getName());
56          repaint();
57        }
58      }
59
60      if(e->type() == QMouseEvent::MouseButtonPress && e->button() == Qt::LeftButton){
61        if(mouseX >= px + MARGEX  && mouseY >= py +MARGEY && mouseX <= px+taillex + MARGEX  && mouseY <= py+tailley + MARGEY) {
62          write_name(it->getName());
63          write_position(px,py);
64          write_size(taillex,tailley);
65          write_ports(cpt_ports);
66        }       
67      }
68     
69    }
70  }
71}
72
73 
74void Window::_back(){
75 
76  paint = false;
77  repaint();
78  mess_charg = new QWidget();
79  mess_charg->setFixedSize(200,50);
80  mess_charg->move(200,50);
81  charg_open = true;
82  QBoxLayout *b = new QBoxLayout(QBoxLayout::TopToBottom,0);
83  QLabel *l = new QLabel();
84  l->setText("please wait while charging");
85  b->addWidget(l);
86  mess_charg->setLayout(b);
87  mess_charg->show();
88 
89 
90 
91  if(father==" "){
92    QList <BaseP> *liste_compo = base->getBaseP(); 
93    p = liste_compo->at(0); 
94  }
95
96  else{
97    p = base->get_BasePos(father.toStdString());
98  }
99
100  entity = p.getEntity();
101  c = new Coord(250,250,250,250);
102  port_east = entity->getPortEast(c);
103  port_west = entity->getPortWest(c);
104  port_north = entity->getPortNorth(c);
105  port_south = entity->getPortSouth(c);
106  father = current;
107  current = QString::fromStdString(entity->getName());
108  paint = true;
109  repaint();
110}
111
Note: See TracBrowser for help on using the repository browser.