]> git.llucax.com Git - z.facultad/75.42/plaqui.git/blobdiff - Constructor/src/not.cpp
-Las compuertas pueden tener n entradas pero solo 1 salida
[z.facultad/75.42/plaqui.git] / Constructor / src / not.cpp
index 0a7c8c707748c459b4db250da5a9ad85644b156c..562ee4d90fde5ef91b18e4204c3c873761481b29 100644 (file)
@@ -2,6 +2,7 @@
 
 Not::Not()
 {
+       in_connected = out_connected = false;
        in_x = x;
        in_y = y+16;
        out_x = x+32;
@@ -27,8 +28,14 @@ bool Not::on_button_press_event(GdkEventButton *event)
 
        if ((event->type == GDK_BUTTON_PRESS) && ( event->button == 1)) {
                if ( CItem::logic_connect ) {
-                       CItem::gate_id = ID;
-                       WorkPlace::pointed = ID;
+                       if ( detect_click_position((int)event->x, (int)event->y ) == OUT && !out_connected )  {
+                               CItem::gate_id = ID;
+                               WorkPlace::pointed = ID;
+                       }
+                       if ( detect_click_position((int)event->x, (int)event->y ) == IN && !in_connected) {
+                               CItem::gate_id = ID;
+                               WorkPlace::pointed = ID;
+                       }
                }
                list_pointed->push_back(name);
                combo_entry->set_popdown_strings(*list_pointed);
@@ -217,3 +224,13 @@ void Not::get_out_logic_connect_position(int& _a, int& _b)
        _a =out_x;
        _b =out_y;
 }
+
+void Not::set_out_connected(bool _o)
+{
+       out_connected = _o;
+}
+
+void Not::set_in_connected(bool _o)
+{
+       in_connected = _o;
+}