protected override void notifyEvent(AccessibleEventObject aEvent)
 {
     if (aEvent != null)
     {
         System.Diagnostics.Debug.WriteLine("-----> Event in ShapeObserver " + aEvent.EventId);
     }
 }
Ejemplo n.º 2
0
 /// <summary>
 /// add a new selection event th the selection stack
 /// </summary>
 /// <param name="doc"></param>
 /// <param name="aEvent"></param>
 internal void SelectionChanged(OoAccessibleDocWnd doc, AccessibleEventObject aEvent)
 {
     if (aEvent != null)
     {
         resetSelectionCache(doc);
         resetSelectionDelayTimer(doc);
     }
 }
Ejemplo n.º 3
0
 private void handleSelectionChanged(OoAccessibleDocWnd ooAccessibleDocWnd, AccessibleEventObject accessibleEventObject)
 {
     lock (_selectiondelayLock)
     {
         fireDrawSelectionChangedEvent(ooAccessibleDocWnd, true);
         if (selecttionDelayTimer != null)
         {
             selecttionDelayTimer.Dispose();
             selecttionDelayTimer = null;
         }
     }
 }
Ejemplo n.º 4
0
 void fireSelectionEvent(AccessibleEventObject aEvents)
 {
     if (NotifyEvent != null)
     {
         try
         {
             //var id = OoAccessibility.GetAccessibleEventIdFromShort(aEvents.EventId);
             //Logger.Instance.Log(LogPriority.DEBUG, "AccFwrd", ">>----> forward Notifiy Event: " + id + " - " + this.GetHashCode());
             NotifyEvent.Invoke(this, new AccessibleEventObjectForwarder(aEvents));
         }
         catch { }
     }
 }
 void fireSelectionEvent(AccessibleEventObject aEvents)
 {
     if (NotifyEvent != null)
     {
         try
         {
             //var id = OoAccessibility.GetAccessibleEventIdFromShort(aEvents.EventId);
             //Logger.Instance.Log(LogPriority.DEBUG, "AccFwrd", ">>----> forward Notifiy Event: " + id + " - " + this.GetHashCode());
             NotifyEvent.Invoke(this, new AccessibleEventObjectForwarder(aEvents));
         }
         catch { }
     }
 }
        protected override void notifyEvent(AccessibleEventObject aEvent)
        {
            var id = OoAccessibility.GetAccessibleEventIdFromShort(aEvent.EventId);

            switch (id)
            {
            case tud.mci.tangram.Accessibility.AccessibleEventId.CHILD:
                handleChild(aEvent.Source, aEvent.NewValue, aEvent.OldValue);
                break;

            default:
                break;
            }
        }
        void XAccessibleEventListener.notifyEvent(AccessibleEventObject aEvent)
        {
            // Logger.Instance.Log(LogPriority.DEBUG, this, "[ACCESSIBLE INFO] Accessible event in forwarder");

            if (NotifyEvent != null)
            {
                try
                {
                    NotifyEvent.Invoke(this, new ForwardedEventArgs(aEvent));
                }
                catch (Exception e)
                {
                    Logger.Instance.Log(LogPriority.ALWAYS, this, "[ERROR] Could not forward accessible event: " + e);
                }
            }
        }
Ejemplo n.º 8
0
 private void stateChanged(OoAccessibleDocWnd doc, AccessibleEventObject aEvent)
 {
     if (doc != null && aEvent != null)
     {
         if (aEvent.Source != null)
         {
             // fire window activated when document gets mouse focus
             var role = OoAccessibility.GetAccessibleRole(aEvent.Source as XAccessible);
             if (role == Accessibility.AccessibleRole.DOCUMENT)
             {
                 if (OoAccessibility.HasAccessibleState(aEvent.Source as XAccessible, Accessibility.AccessibleStateType.FOCUSED))
                 {
                     fireDrawWindowActivatedEvent(doc);
                 }
             }
         }
     }
 }
        private void handleAccessibleEvent(OoAccessibleDocWnd doc, tud.mci.tangram.Accessibility.AccessibleEventId id, AccessibleEventObject aEvent)
        {
            System.Diagnostics.Debug.WriteLine("Accessible event from DrawDocWnd :'" + doc.Title + "' ID: " + id);

            switch (id)
            {
                //case tud.mci.tangram.Accessibility.AccessibleEventId.NONE:
                //    break;
                //case tud.mci.tangram.Accessibility.AccessibleEventId.ACTION_CHANGED:
                //    break;
                //case tud.mci.tangram.Accessibility.AccessibleEventId.ACTIVE_DESCENDANT_CHANGED:
                //    break;
                //case tud.mci.tangram.Accessibility.AccessibleEventId.ACTIVE_DESCENDANT_CHANGED_NOFOCUS:
                //    break;
                //case tud.mci.tangram.Accessibility.AccessibleEventId.BOUNDRECT_CHANGED:
                //    break;
                //case tud.mci.tangram.Accessibility.AccessibleEventId.CARET_CHANGED:
                //    break;
                case tud.mci.tangram.Accessibility.AccessibleEventId.CHILD:
                    //handleAccessibleChildEvent(doc, aEvent.Source, aEvent.NewValue, aEvent.OldValue);
                    break;
                //case tud.mci.tangram.Accessibility.AccessibleEventId.COLUMN_CHANGED:
                //    break;
                //case tud.mci.tangram.Accessibility.AccessibleEventId.CONTENT_FLOWS_FROM_RELATION_CHANGED:
                //    break;
                //case tud.mci.tangram.Accessibility.AccessibleEventId.CONTENT_FLOWS_TO_RELATION_CHANGED:
                //    break;
                //case tud.mci.tangram.Accessibility.AccessibleEventId.CONTROLLED_BY_RELATION_CHANGED:
                //    break;
                //case tud.mci.tangram.Accessibility.AccessibleEventId.CONTROLLER_FOR_RELATION_CHANGED:
                //    break;
                //case tud.mci.tangram.Accessibility.AccessibleEventId.DESCRIPTION_CHANGED:
                //    break;
                //case tud.mci.tangram.Accessibility.AccessibleEventId.HYPERTEXT_CHANGED:
                //    break;
                //case tud.mci.tangram.Accessibility.AccessibleEventId.INVALIDATE_ALL_CHILDREN:
                //    break;
                //case tud.mci.tangram.Accessibility.AccessibleEventId.LABEL_FOR_RELATION_CHANGED:
                //    break;
                //case tud.mci.tangram.Accessibility.AccessibleEventId.LABELED_BY_RELATION_CHANGED:
                //    break;
                //case tud.mci.tangram.Accessibility.AccessibleEventId.LISTBOX_ENTRY_COLLAPSED:
                //    break;
                //case tud.mci.tangram.Accessibility.AccessibleEventId.LISTBOX_ENTRY_EXPANDED:
                //    break;
                //case tud.mci.tangram.Accessibility.AccessibleEventId.MEMBER_OF_RELATION_CHANGED:
                //    break;
                //case tud.mci.tangram.Accessibility.AccessibleEventId.NAME_CHANGED:
                //    break;
                case tud.mci.tangram.Accessibility.AccessibleEventId.PAGE_CHANGED:
                    fireDrawWindowActivatedEvent(doc);
                    break;
                //case tud.mci.tangram.Accessibility.AccessibleEventId.SECTION_CHANGED:
                //    break;
                case tud.mci.tangram.Accessibility.AccessibleEventId.SELECTION_CHANGED:
                    selectionChanged(doc, aEvent);
                    break;
                case tud.mci.tangram.Accessibility.AccessibleEventId.SELECTION_CHANGED_ADD:
                    selectionChanged(doc, aEvent);
                    break;
                case tud.mci.tangram.Accessibility.AccessibleEventId.SELECTION_CHANGED_REMOVE:
                    selectionChanged(doc, aEvent);
                    break;
                case tud.mci.tangram.Accessibility.AccessibleEventId.SELECTION_CHANGED_WITHIN:
                    selectionChanged(doc, aEvent);
                    break;
                case tud.mci.tangram.Accessibility.AccessibleEventId.STATE_CHANGED:
                    stateChanged(doc, aEvent);
                    break;
                //case tud.mci.tangram.Accessibility.AccessibleEventId.SUB_WINDOW_OF_RELATION_CHANGED:
                //    break;
                //case tud.mci.tangram.Accessibility.AccessibleEventId.TABLE_CAPTION_CHANGED:
                //    break;
                //case tud.mci.tangram.Accessibility.AccessibleEventId.TABLE_COLUMN_DESCRIPTION_CHANGED:
                //    break;
                //case tud.mci.tangram.Accessibility.AccessibleEventId.TABLE_COLUMN_HEADER_CHANGED:
                //    break;
                //case tud.mci.tangram.Accessibility.AccessibleEventId.TABLE_MODEL_CHANGED:
                //    break;
                //case tud.mci.tangram.Accessibility.AccessibleEventId.TABLE_ROW_DESCRIPTION_CHANGED:
                //    break;
                //case tud.mci.tangram.Accessibility.AccessibleEventId.TABLE_ROW_HEADER_CHANGED:
                //    break;
                //case tud.mci.tangram.Accessibility.AccessibleEventId.TABLE_SUMMARY_CHANGED:
                //    break;
                //case tud.mci.tangram.Accessibility.AccessibleEventId.TEXT_ATTRIBUTE_CHANGED:
                //    break;
                //case tud.mci.tangram.Accessibility.AccessibleEventId.TEXT_CHANGED:
                //    break;
                //case tud.mci.tangram.Accessibility.AccessibleEventId.TEXT_SELECTION_CHANGED:
                //    break;
                //case tud.mci.tangram.Accessibility.AccessibleEventId.VALUE_CHANGED:
                //    break;
                //case tud.mci.tangram.Accessibility.AccessibleEventId.VISIBLE_DATA_CHANGED:
                //    break;
                default:
                    break;
            }
        }
 protected override void notifyEvent(AccessibleEventObject aEvent)
 {
     if (aEvent != null)
     {
         System.Diagnostics.Debug.WriteLine("-----> Event in ShapeObserver " + aEvent.EventId);
     }
 }
 void fireAccessibleEvent(AccessibleEventObject aEvents)
 {
     if (AccessibleEvent != null)
     {
         try
         {
             AccessibleEvent.Invoke(this, new OoAccessibleDocAccessibleEventArgs(aEvents));
         }
         catch (Exception ex) { Logger.Instance.Log(LogPriority.DEBUG, this, "can't fire accessibility event", ex); }
     }
 }
        void notifyEvent(AccessibleEventObject aEvent)
        {
            Logger.Instance.Log(LogPriority.DEBUG, this, "[ACCESSIBLE] accessible event in document " + (aEvent != null ? OoAccessibility.GetAccessibleEventIdFromShort(aEvent.EventId).ToString() : ""));

            /* you can not rely on the selection events. 
             * They will only be thrown after editing the document. So selections in 
             * all loaded document will not been reported ever! 
             * Use the XSelectionProveider of the XControllen instead!
             */
            fireAccessibleEvent(aEvent);
        }
 public OoAccessibleDocAccessibleEventArgs(AccessibleEventObject aEvent)
 {
     E = aEvent;
 }
 protected virtual void notifyEvent(AccessibleEventObject aEvent)
 {
 }
        void XAccessibleEventListener.notifyEvent(AccessibleEventObject aEvent)
        {
            // Logger.Instance.Log(LogPriority.DEBUG, this, "[ACCESSIBLE INFO] Accessible event in forwarder");

            if (NotifyEvent != null)
            {
                try
                {
                    NotifyEvent.Invoke(this, new ForwardedEventArgs(aEvent));
                }
                catch (Exception e)
                {
                    Logger.Instance.Log(LogPriority.ALWAYS, this, "[ERROR] Could not forward accessible event: " + e);
                }
            }
        }
        private void handleSelectionChanged(OoAccessibleDocWnd doc, AccessibleEventObject aEvent)
        {
            // check the global selection supplier
            if (doc != null)
            {
                try
                {
                    var controller = doc.Controller;
                    if (controller != null && controller is XSelectionSupplier)
                    {
                        XShapes selectedShapes = OoSelectionObserver.GetSelection(controller as XSelectionSupplier) as XShapes;

                        OoDrawPagesObserver pagesObserver = doc.DrawPagesObs;
                        if (selectedShapes != null && pagesObserver != null)
                        {
                            List<OoShapeObserver> selectedShapesList = new List<OoShapeObserver>();
                            int count = selectedShapes.getCount();
                            for (int i = 0; i < count; i++)
                            {
                                XShape shape = selectedShapes.getByIndex(i).Value as XShape;
                                if (shape != null)
                                {
                                    OoShapeObserver shapeObserver = pagesObserver.GetRegisteredShapeObserver(shape, null);
                                    if (shapeObserver != null
                                        //&& shapeObserver.IsValid()
                                        )
                                    {
                                        if (shapeObserver.IsValid())
                                        {
                                            selectedShapesList.Add(shapeObserver);
                                        }
                                        else
                                        {
                                            shapeObserver.Dispose();
                                            XDrawPage page = OoDrawUtils.GetPageForShape(shape);
                                            OoDrawPageObserver dpObs = pagesObserver.GetRegisteredPageObserver(page);
                                            OoShapeObserver so = new OoShapeObserver(shape, dpObs);
                                            pagesObserver.RegisterUniqueShape(so);
                                        }

                                    }
                                }
                            }
                            fireDrawSelectionChangedEvent(doc, selectedShapesList, aEvent == null);
                        }
                        else
                        {
                            // no selection
                            fireDrawSelectionChangedEvent(doc, new List<OoShapeObserver>(), aEvent == null);
                            return;
                        }
                    }
                }
                catch (unoidl.com.sun.star.lang.DisposedException ex)
                {
                    System.Diagnostics.Debug.WriteLine(ex.Source + " " + ex.Message);
                }
            }
        }
 private void stateChanged(OoAccessibleDocWnd doc, AccessibleEventObject aEvent)
 {
     if (doc != null && aEvent != null)
     {
         if (aEvent.Source != null)
         {
             // fire window activated when document gets mouse focus
             var role = OoAccessibility.GetAccessibleRole(aEvent.Source as XAccessible);
             if (role == Accessibility.AccessibleRole.DOCUMENT)
             {
                 if (OoAccessibility.HasAccessibleState(aEvent.Source as XAccessible, Accessibility.AccessibleStateType.FOCUSED))
                 {
                     fireDrawWindowActivatedEvent(doc);
                 }
             }
         }
     }
 }
 void XAccessibleEventListener.notifyEvent(AccessibleEventObject aEvent)
 {
     TimeLimitExecutor.ExecuteWithTimeLimit(15000, delegate() { fireSelectionEvent(aEvent); }, "AccEvntFrwd_NotifyEvent");
 }
 protected virtual void notifyEvent(AccessibleEventObject aEvent) { }
Ejemplo n.º 20
0
 public AccessibleEventObjectForwarder(AccessibleEventObject e)
 {
     E = e;
 }
Ejemplo n.º 21
0
 /// <summary>
 /// Handles accessible events.
 /// </summary>
 /// <param name="aEvent">a event.</param>
 /// <remarks>This Event handler it time limited to 15,000 ms.</remarks>
 void XAccessibleEventListener.notifyEvent(AccessibleEventObject aEvent)
 {
     TimeLimitExecutor.ExecuteWithTimeLimit(15000, delegate() { fireSelectionEvent(aEvent); }, "AccEvntFrwd_NotifyEvent");
 }
 /// <summary>
 /// add a new selection event th the selection stack
 /// </summary>
 /// <param name="doc"></param>
 /// <param name="aEvent"></param>
 private void selectionChanged(OoAccessibleDocWnd doc, AccessibleEventObject aEvent)
 {
     if (aEvent != null)
     {
         selectionStack.Push(new KeyValuePair<OoAccessibleDocWnd, AccessibleEventObject>(doc, aEvent));
         initSelectionHandlerThread();
     }
 }
 public AccessibleEventObjectForwarder(AccessibleEventObject e)
 {
     E = e;
 }
        protected override void notifyEvent(AccessibleEventObject aEvent)
        {
            var id = OoAccessibility.GetAccessibleEventIdFromShort(aEvent.EventId);

            switch (id)
            {
                case tud.mci.tangram.Accessibility.AccessibleEventId.CHILD:
                    handleChild(aEvent.Source, aEvent.NewValue, aEvent.OldValue);
                    break;
                default:
                    break;
            }
        }
Ejemplo n.º 25
0
        private void handleAccessibleEvent(OoAccessibleDocWnd doc, tud.mci.tangram.Accessibility.AccessibleEventId id, AccessibleEventObject aEvent)
        {
            System.Diagnostics.Debug.WriteLine("Accessible event from DrawDocWnd :'" + doc.Title + "' ID: " + id);

            switch (id)
            {
            //case tud.mci.tangram.Accessibility.AccessibleEventId.NONE:
            //    break;
            //case tud.mci.tangram.Accessibility.AccessibleEventId.ACTION_CHANGED:
            //    break;
            //case tud.mci.tangram.Accessibility.AccessibleEventId.ACTIVE_DESCENDANT_CHANGED:
            //    break;
            //case tud.mci.tangram.Accessibility.AccessibleEventId.ACTIVE_DESCENDANT_CHANGED_NOFOCUS:
            //    break;
            //case tud.mci.tangram.Accessibility.AccessibleEventId.BOUNDRECT_CHANGED:
            //    break;
            //case tud.mci.tangram.Accessibility.AccessibleEventId.CARET_CHANGED:
            //    break;
            case tud.mci.tangram.Accessibility.AccessibleEventId.CHILD:
                handleAccessibleChildEvent(doc, aEvent.Source, aEvent.NewValue, aEvent.OldValue);
                break;

            //case tud.mci.tangram.Accessibility.AccessibleEventId.COLUMN_CHANGED:
            //    break;
            //case tud.mci.tangram.Accessibility.AccessibleEventId.CONTENT_FLOWS_FROM_RELATION_CHANGED:
            //    break;
            //case tud.mci.tangram.Accessibility.AccessibleEventId.CONTENT_FLOWS_TO_RELATION_CHANGED:
            //    break;
            //case tud.mci.tangram.Accessibility.AccessibleEventId.CONTROLLED_BY_RELATION_CHANGED:
            //    break;
            //case tud.mci.tangram.Accessibility.AccessibleEventId.CONTROLLER_FOR_RELATION_CHANGED:
            //    break;
            //case tud.mci.tangram.Accessibility.AccessibleEventId.DESCRIPTION_CHANGED:
            //    break;
            //case tud.mci.tangram.Accessibility.AccessibleEventId.HYPERTEXT_CHANGED:
            //    break;
            //case tud.mci.tangram.Accessibility.AccessibleEventId.INVALIDATE_ALL_CHILDREN:
            //    break;
            //case tud.mci.tangram.Accessibility.AccessibleEventId.LABEL_FOR_RELATION_CHANGED:
            //    break;
            //case tud.mci.tangram.Accessibility.AccessibleEventId.LABELED_BY_RELATION_CHANGED:
            //    break;
            //case tud.mci.tangram.Accessibility.AccessibleEventId.LISTBOX_ENTRY_COLLAPSED:
            //    break;
            //case tud.mci.tangram.Accessibility.AccessibleEventId.LISTBOX_ENTRY_EXPANDED:
            //    break;
            //case tud.mci.tangram.Accessibility.AccessibleEventId.MEMBER_OF_RELATION_CHANGED:
            //    break;
            //case tud.mci.tangram.Accessibility.AccessibleEventId.NAME_CHANGED:
            //    break;
            case tud.mci.tangram.Accessibility.AccessibleEventId.PAGE_CHANGED:
                fireDrawWindowActivatedEvent(doc);
                break;

            //case tud.mci.tangram.Accessibility.AccessibleEventId.SECTION_CHANGED:
            //    break;
            case tud.mci.tangram.Accessibility.AccessibleEventId.SELECTION_CHANGED:
                SelectionChanged(doc, aEvent);
                break;

            case tud.mci.tangram.Accessibility.AccessibleEventId.SELECTION_CHANGED_ADD:
                SelectionChanged(doc, aEvent);
                break;

            case tud.mci.tangram.Accessibility.AccessibleEventId.SELECTION_CHANGED_REMOVE:
                SelectionChanged(doc, aEvent);
                break;

            case tud.mci.tangram.Accessibility.AccessibleEventId.SELECTION_CHANGED_WITHIN:
                SelectionChanged(doc, aEvent);
                break;

            case tud.mci.tangram.Accessibility.AccessibleEventId.STATE_CHANGED:
                stateChanged(doc, aEvent);
                break;

            //case tud.mci.tangram.Accessibility.AccessibleEventId.SUB_WINDOW_OF_RELATION_CHANGED:
            //    break;
            //case tud.mci.tangram.Accessibility.AccessibleEventId.TABLE_CAPTION_CHANGED:
            //    break;
            //case tud.mci.tangram.Accessibility.AccessibleEventId.TABLE_COLUMN_DESCRIPTION_CHANGED:
            //    break;
            //case tud.mci.tangram.Accessibility.AccessibleEventId.TABLE_COLUMN_HEADER_CHANGED:
            //    break;
            //case tud.mci.tangram.Accessibility.AccessibleEventId.TABLE_MODEL_CHANGED:
            //    break;
            //case tud.mci.tangram.Accessibility.AccessibleEventId.TABLE_ROW_DESCRIPTION_CHANGED:
            //    break;
            //case tud.mci.tangram.Accessibility.AccessibleEventId.TABLE_ROW_HEADER_CHANGED:
            //    break;
            //case tud.mci.tangram.Accessibility.AccessibleEventId.TABLE_SUMMARY_CHANGED:
            //    break;
            //case tud.mci.tangram.Accessibility.AccessibleEventId.TEXT_ATTRIBUTE_CHANGED:
            //    break;
            //case tud.mci.tangram.Accessibility.AccessibleEventId.TEXT_CHANGED:
            //    break;
            //case tud.mci.tangram.Accessibility.AccessibleEventId.TEXT_SELECTION_CHANGED:
            //    break;
            //case tud.mci.tangram.Accessibility.AccessibleEventId.VALUE_CHANGED:
            //    break;
            //case tud.mci.tangram.Accessibility.AccessibleEventId.VISIBLE_DATA_CHANGED:
            //    break;
            default:
                break;
            }
        }