Add right click handler to matrix to allow connecting groups that are
open git-svn-id: file:///home/vcs/svn/jsweeper/trunk@23 6611ac79-6612-48ef-a1e9-b906f853523emaster
parent
962e84ba07
commit
8fc3ab0c14
|
@ -608,6 +608,7 @@ bool Matrix::on_button_press_event(GdkEventButton *event)
|
||||||
if (p->rect.HitX(x)) p1 = p;
|
if (p->rect.HitX(x)) p1 = p;
|
||||||
if (p->rect.HitY(y)) p2 = p;
|
if (p->rect.HitY(y)) p2 = p;
|
||||||
|
|
||||||
|
if (p1 != NULL && p2 != NULL) break;
|
||||||
if (p1 != NULL && p2 != NULL) {
|
if (p1 != NULL && p2 != NULL) {
|
||||||
pm.ToggleConnect(p1, p2);
|
pm.ToggleConnect(p1, p2);
|
||||||
return true;
|
return true;
|
||||||
|
@ -617,18 +618,47 @@ bool Matrix::on_button_press_event(GdkEventButton *event)
|
||||||
if (pg->rect.HitX(x)) pg1 = pg;
|
if (pg->rect.HitX(x)) pg1 = pg;
|
||||||
if (pg->rect.HitY(y)) pg2 = pg;
|
if (pg->rect.HitY(y)) pg2 = pg;
|
||||||
|
|
||||||
if (p1 != NULL && pg2 != NULL) {
|
if (pg1 != NULL && pg2 != NULL) break;
|
||||||
pm.ToggleConnect(p1, pg2);
|
}
|
||||||
return true;
|
}
|
||||||
}
|
|
||||||
if (pg1 != NULL && p2 != NULL) {
|
if (event->button == 3) {
|
||||||
pm.ToggleConnect(pg1, p2);
|
// Right button pressed
|
||||||
return true;
|
// Try groups first
|
||||||
}
|
if (pg1 != NULL && pg2 != NULL) {
|
||||||
if (pg1 != NULL && pg2 != NULL) {
|
pm.ToggleConnect(pg1, pg2);
|
||||||
pm.ToggleConnect(pg1, pg2);
|
return true;
|
||||||
return true;
|
}
|
||||||
}
|
if (pg1 != NULL && p2 != NULL) {
|
||||||
|
pm.ToggleConnect(pg1, p2);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
if (p1 != NULL && pg2 != NULL) {
|
||||||
|
pm.ToggleConnect(p1, pg2);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
if (p1 != NULL && p2 != NULL) {
|
||||||
|
pm.ToggleConnect(p1, p2);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
} else if (event->button == 1) {
|
||||||
|
// Left button pressed
|
||||||
|
// Try ports first
|
||||||
|
if (p1 != NULL && p2 != NULL) {
|
||||||
|
pm.ToggleConnect(p1, p2);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
if (p1 != NULL && pg2 != NULL) {
|
||||||
|
pm.ToggleConnect(p1, pg2);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
if (pg1 != NULL && p2 != NULL) {
|
||||||
|
pm.ToggleConnect(pg1, p2);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
if (pg1 != NULL && pg2 != NULL) {
|
||||||
|
pm.ToggleConnect(pg1, pg2);
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue