Ejemplo n.º 1
0
        public TextEngine()
        {
            lines = new List<string> ();

            layout = new Pango.Layout (PintaCore.Chrome.Canvas.PangoContext);
            imContext = new Gtk.IMMulticontext ();
            imContext.Commit += OnCommit;
        }
Ejemplo n.º 2
0
        public TextEngine()
        {
            lines = new List<string> ();
            lines.Add(string.Empty);
            textMode = TextMode.Unchanged;

            layout = new Pango.Layout (PintaCore.Chrome.Canvas.PangoContext);
            imContext = new Gtk.IMMulticontext ();
            imContext.Commit += OnCommit;
        }
Ejemplo n.º 3
0
 public virtual void EnableEvent(object eventId)
 {
     if (eventId is WidgetEvent) {
         WidgetEvent ev = (WidgetEvent) eventId;
         switch (ev) {
         case WidgetEvent.DragLeave:
             AllocEventBox ();
             EventsRootWidget.DragLeave += HandleWidgetDragLeave;
             break;
         case WidgetEvent.DragStarted:
             AllocEventBox ();
             EventsRootWidget.DragBegin += HandleWidgetDragBegin;
             break;
         case WidgetEvent.KeyPressed:
             Widget.KeyPressEvent += HandleKeyPressEvent;
             break;
         case WidgetEvent.KeyReleased:
             Widget.KeyReleaseEvent += HandleKeyReleaseEvent;
             break;
         case WidgetEvent.GotFocus:
             EventsRootWidget.AddEvents ((int)Gdk.EventMask.FocusChangeMask);
             Widget.FocusGrabbed += HandleWidgetFocusInEvent;
             break;
         case WidgetEvent.LostFocus:
             EventsRootWidget.AddEvents ((int)Gdk.EventMask.FocusChangeMask);
             Widget.FocusOutEvent += HandleWidgetFocusOutEvent;
             break;
         case WidgetEvent.MouseEntered:
             AllocEventBox ();
             EventsRootWidget.AddEvents ((int)Gdk.EventMask.EnterNotifyMask);
             EventsRootWidget.EnterNotifyEvent += HandleEnterNotifyEvent;
             break;
         case WidgetEvent.MouseExited:
             AllocEventBox ();
             EventsRootWidget.AddEvents ((int)Gdk.EventMask.LeaveNotifyMask);
             EventsRootWidget.LeaveNotifyEvent += HandleLeaveNotifyEvent;
             break;
         case WidgetEvent.ButtonPressed:
             AllocEventBox ();
             EventsRootWidget.AddEvents ((int)Gdk.EventMask.ButtonPressMask);
             EventsRootWidget.ButtonPressEvent += HandleButtonPressEvent;
             break;
         case WidgetEvent.ButtonReleased:
             AllocEventBox ();
             EventsRootWidget.AddEvents ((int)Gdk.EventMask.ButtonReleaseMask);
             EventsRootWidget.ButtonReleaseEvent += HandleButtonReleaseEvent;
             break;
         case WidgetEvent.MouseMoved:
             AllocEventBox ();
             EventsRootWidget.AddEvents ((int)Gdk.EventMask.PointerMotionMask);
             EventsRootWidget.MotionNotifyEvent += HandleMotionNotifyEvent;
             break;
         case WidgetEvent.BoundsChanged:
             Widget.SizeAllocated += HandleWidgetBoundsChanged;
             break;
         case WidgetEvent.MouseScrolled:
             AllocEventBox();
             EventsRootWidget.AddEvents ((int)Gdk.EventMask.ScrollMask);
             Widget.ScrollEvent += HandleScrollEvent;
             break;
         case WidgetEvent.TextInput:
             if (EditableWidget != null) {
                 EditableWidget.TextInserted += HandleTextInserted;
             } else {
                 RunWhenRealized (delegate {
                     if (IMContext == null) {
                         IMContext = new Gtk.IMMulticontext ();
                         IMContext.ClientWindow = EventsRootWidget.GdkWindow;
                         IMContext.Commit += HandleImCommitEvent;
                     }
                 });
                 Widget.KeyPressEvent += HandleTextInputKeyPressEvent;
                 Widget.KeyReleaseEvent += HandleTextInputKeyReleaseEvent;
             }
             break;
         }
         if ((ev & dragDropEvents) != 0 && (enabledEvents & dragDropEvents) == 0) {
             // Enabling a drag&drop event for the first time
             AllocEventBox ();
             EventsRootWidget.DragDrop += HandleWidgetDragDrop;
             EventsRootWidget.DragMotion += HandleWidgetDragMotion;
             EventsRootWidget.DragDataReceived += HandleWidgetDragDataReceived;
         }
         if ((ev & WidgetEvent.PreferredSizeCheck) != 0) {
             EnableSizeCheckEvents ();
         }
         enabledEvents |= ev;
     }
 }