How to trap the document window activate event?

Hi All,
I am working with a plugin development application. My requirement is, at any time I may have more than one document opened. The plugin window what I have designed gets populated with data from the xml file attached with the current document. Therefore whenever I switch between the document window, I need the plugin window to be refreshed so that it will load/display the contents from the current xml file.
For this I need to trap the activate document window event. So whenever a window is selected from the current list of opened windows, then the plugin should get refreshed automatically.
Actually, I tried inheriting the CWindowEH class and I used the kDocWindowBoss class for the same. But the event is not firing as expected. Help/tips from anyone could be appreciated.
Thanks in advance.
JR.

Hi, <br /><br />I don't think having observers on kDocBoss and kDocumentListBoss should be a problem. We do exactly that.<br /><br />Just running with a couple of break points in your code, do you hit the DocListObserver::AutoAttach and not the Update().<br /><br />If you don't hit the AutoAttach breakpoint then it's probably the resource is not set up right. Ours is like this..<br /><br />/** Observes document list actions.<br /> */<br />AddIn<br />{<br />     kDocumentListBoss,<br />     kInvalidClass,<br />     {<br />      IID_IMYDOCLISTOBSERVER, kMyDocListObserverImpl,<br />     }<br />},<br /><br />If you're getting to the AutoAttach but not the Update then it may be that you're not specifying what notifications you wish to receive.<br /><br />Our AutoAttach is like this..<br /><br />     do<br />     {<br />          InterfacePtr<ISubject> subject( this, UseDefaultIID());<br />          if (subject != nil)<br />          {<br />               if ( subject->IsAttached(this, IID_IDOCUMENTLIST, IID_IMYDOCLISTOBSERVER) == kFalse )<br />                    subject->AttachObserver(this, IID_IDOCUMENTLIST, IID_IMYDOCLISTOBSERVER);<br />          }<br />     }<br />     while ( kFalse );<br /><br />with equivalent DetachObserver code in the AutoDetach of course.

Similar Messages

  • How to trap the event before unlock of locked text frames

    How to trap the event before the message "You must check out the contents of this frame in order to make changes. Check out now?" for locked text frames?
    I have tried installing the service Responder kUserEditTextCmdResponder
    The responder event is fired after the unlock of text frame in this case.
    I was trying the service kEditCmdPreProcessService, but I could not find the companion interface for this service.
    How to find the companion interface?

    calle111 wrote:
    The answer to why i need the event executed if nothing has changed is that in my application the text ring will hold some predefined settings for some other controls. If the user selects one of the predefined settings from the text ring a bunch of other controls will take predefined values. These values in the other controls can now be altered by the user. If the user now wants to re-apply the same set of pre-defined settings as last time it should be as simple as selecting the pre-defined settings from the text ring. If now the same value is selected from the text ring, no event will be executed.
    What you should do instead is change the value of the ring to a "special" value (e.g. using a local variable) whenever one of the other settings change, indicating that the settings have been modified. It seems wrong to show an inconsistent value in the ring, right?
    Now, whenever you change it back to one of the default settings, is IS a value changed event and there is no problem. .
    Here's a quick draft.
    LabVIEW Champion . Do more with less code and in less time .
    Attachments:
    event_testerMOD.vi ‏10 KB

  • Drawing directly in the document window

    Can anybody provide sample code showing the basics of drawing directly in the document window? I'm thinking of something along the lines of the measure tool (pardon the pun).
    It looks like I'm supposed to use either the Annotator Suite or the Document View Suite to "invalidate" a rectangle in the document, followed by doing the actual drawing with the ADMDrawer Suite. But the documentation in this area is pretty sparse (for example GetDocumentViewInvalidRect and SetDocumentViewInvalidRect refer to a "fudged" invalid rect without explaining what that is) and I don't see anything in the Sample Code folder that explains this feature.
    Are the little text annotations ("path" "anchor") that pop up when using Smart Guides done using this method?
    Thanks,
    John

    (Sound of crickets chirping...)
    Boy, this forum is awfully dead in comparison to the InDesign SDK forum. Is no one writing Illustrator plug-ins anymore?
    But hey, I'll keep posting, if only for my own amusement, about my saga of writing a plug-in.
    I figured out some of the annotation stuff, but I'm still puzzled by some things.
    I started by simply trying to create a tool which would carry a 100x100 box around with it when moved on the screen -- no clicking or dragging yet -- much as the symbol sprayer, for example, has a nice circle (albeit of varying size) around it. I created the tool and added it as an annotator. When it receives a kSelectorAITrackToolCursor message, it simply captures the cursor location in a global and sets the PlatformCursor. When the tool receives a kCallerAIAnnotation message, I have this code:
    extern AIErr toolAnnotate( AIAnnotatorMessage *message ) {
        AIErr error = kNoErr;
        error = sView->ArtworkPointToViewPoint( message->view, &g->cursorPoint, &g->cursorPointScreen );
        g->annoBoundsScreen.top = g->cursorPointScreen.v - 50;
        g->annoBoundsScreen.bottom = g->cursorPointScreen.v + 50;
        g->annoBoundsScreen.left = g->cursorPointScreen.h - 50;
        g->annoBoundsScreen.right = g->cursorPointScreen.h + 50;
        ADMDrawerRef dr = sADMDrawer->Create(message->port, &g->annoBoundsScreen, kADMPaletteFont);
        ASRect myRect;
        myRect.top = 0;
        myRect.bottom = 100;
        myRect.left = 0;
        myRect.right = 100;
        sADMDrawer->SetDrawMode( dr, kADMXORMode );
        sADMDrawer->SetADMColor( dr, kADMBlackColor );
        sADMDrawer->DrawRect( dr, &myRect );
        sADMDrawer->Destroy( dr );
        sAnnotator->InvalAnnotationRect ( message->view, &g->annoBoundsScreen );
    This (should) convert the cursor location (in artwork coordinates) to screen coordinates, set the annotation boundaries based on this location, create the drawer reference, and draw the 100x100 rectangle within this reference. Finally, it invalidates this rectangle as per the Annotation suite documentation.
    I fired up the tool in Illy 10 and saw a single box created down at the 0, 0 point on the page. No box followed the cursor. Hmm. I added an sADMBasic->Beep() to the annotation code and realized what was happening -- my tool was getting an annotation message when first selected, but none when it was merely moved around the screen.
    After some futzing around I discovered that if I added a call to sView->SetDocumentViewInvalidDocumentRect in the TrackToolCursor code, I got an annotate message every time the mouse was moved! I captured the previous cursor position and invalidated the rectangle 50 points on all sides from it. and tried again. Success -- partially.
    At this point, the cursor could be moved around with the box following it. It suffers, however, from the following bugs:
    1) The SetDocumentViewInvalidDocumentRect is in artwork coordinates and so only works at 100% or greater. If I zoom out, my little box leaves trails all over the screen. In addition, if I zoom in, the cursor stutters noticeably -- I assume because Illustrator is forcing a redraw on large portions of the document. I think I can fix both these bugs by recalculating the SetDocumentViewInvalidDocumentRect into screen coordinates. However I note that the circle of the symbol sprayer can be made huge -- as large as the screen -- and it still moves smoothly. So maybe calling sView->SetDocumentViewInvalidDocumentRect is not the way to force annotations. But I haven't been able to discover another way.
    2) When the mouse moves into a palette, the square remains "hung up" at the last position where the cursor was in the document window. I think I can fix this by utilizing the Suspend and Resume notifiers and doing one last InvalAnnotationRect when I get the Suspend notification.
    3) For fun I tried clicking and dragging. Bad news. If I do this, thereafter the entire Illustrator window only redraws iself in the small rectangle that was set when I created the drawer port. By chance I found that if I use another tool that annotates such as the pencil *before* I use my tool, then everything is fine (although of course the box doesn't follow the cursor around anymore because my toolMouseDrag code is empty). How is using a previous tool "fixing" my code? I don't understand this one at all.
    Anyway, I suppose I could fork over a wad of cash and join the ADN and purchase a support case -- but hey, I'm just a hobbyist messing around at this point and facing some rather crappy documentation. Any tips will be much appreciated.
    John

  • How to Save the "Document Info" Details Action Via

    I saved the "Document Info" details in illustrator manually using "Document Info Pannel". Could you please expain how to save the "Document Info" details through illustrator action.
    Thanks,
    Prabudass

    When in the document info window of a file there is a small triangle in the top right corner from this you have fly out menus to save/delete or show metadata templates. You can use this to save groups of metadata. Once you have a bunch of groups you can quickly use this to set your info. Bridge will also allow you to append or replace metadata from these saved templates too

  • Why does the document window in illustrator cs6 move to the far left when I reopen the file?

    why does the document window in illustrator cs6 move to the far left when I reopen the file?

    Hi John,
    thanks for the fast response.  cs5 remembered the window position.  I like having the window in the middle as I have a 27" monitor.  I just upgraded to cs6 yesterday and I'm sure it was remembering the window document position.  I think.  If i find out how to fix this, I'll post it here.
    And while I'm on the subject of cs6, why the f*** did adobe combine the stroke and swatches pallettes?  Now I forever have to click stroke and swatch tabs all day.  And I love the army and navy file icons of photoshop and illustrator.  I won't comment on Acrobat X.  ; (

  • Is it possible to make the document window not to hide behind the palettes?

    Is it possible to make the document window not to hide behind the palettes (layers, paths etc) like in CS5? For instance if I want to make a correction in the right part of the image and zoom in, the window expand under the different palettes and I can no longer see the area which I want to correct without change the document window size. I don't want to use the Photoshop application fram because then I can't see stuff in other applications ID, mail an so on. 

    I have written about how to control various font sizes in Thunderbird here:
    http://www.ramsden.org.uk/9_Type_sizes.html
    Generally, you shouldn't need to zoom; you can pre-set the display of message text.
    To get straight to the point, you should probably try the https://addons.mozilla.org/en-us/thunderbird/addon/theme-font-size-changer/ add-on to address issues with the size of the message list font.

  • FileDialog.SAVE: trap the "Save" button click event

    Hello All
    Can anyone help me with FileDialog.SAVE, as to how we could trap the Save button click event? Is it possible to actually trap that particular event, rather than just checking for FileDialog.getFile() == null -> which indicates that "Cancel" button was selected.
    Any help would be highly appreciated
    Regards
    Naushin

    You can not do this, because FileDialog uses native dialog and all
    buttons on it are native (there are no java-components for them).
    Thus checking FileDialof.getFile() for null is only way to figure out
    whether user choose some file or not.

  • How to trap client browser window closing thru JSP or servlets

    How to trap client browser window closing thru JSP or servlets?
    Gunjan

    Hi
    Though some JavaScripts may provide you with solutions , yet there is no reliable way to detect the closing of the browser by the servlet. One way to achieve detection of user quitting a session is setting session timeouts ion the server side. This can be done either through the web.xml file or programatically by setting the session.setMaxInactiveInterval().
    Good Luck!
    Eshwar Rao
    Developer Technical Support
    Sun microsystems Inc
    http://www.sun.com/developers/support

  • How to change the default window size display font size on Lync 2013 main window?

    Hi champs,
    Just a simple non-technical question: How to change the default window size display font size on Lync 2013 main window on Windows 7 desktop?
    Thanks,

    Hi,
    Did you mean change the Lync: Change the Default Font and Color of Instant Messages just as Edwin said above?
    If not, as I know, there is no natural way to change it.
    If yes, on the latest version of Lync 2013 client, there is a new option “IM” on Lync client “Options” list. And you need to change the default Font and Color of IM in the interface of “IM”.
    Best Regards,
    Eason Huang
    Eason Huang
    TechNet Community Support

  • How to change the document type while creating a PO by ME59N

    Hi,
    I  have 2 groups of PR's, for group one the document type is picked as NB and PO is created and for the group 2 it should pick as XYZ and PO should be created using ME59N tcode.
    How to change the document type for group 2 in ME59N? Which user exists to use to change the document type while creating PO in ME59N? 
    Can any one suggest me.

    Hi,
    There a config area, where you can define default PO doc types for a particular Pr doc type. If you maintain the settings properly there, then your requirement can be fulfilled.
    SPRO->IMG->MM->Purchasing->Purchase requisation->Define doc types.
    This will serve your purpose.
    Thanks,
    Srinu

  • Hi, I'm working on a document in PAges 09. Any idea on how to change the document color? I want it black instead of white.

    Hi, I'm working on a document in PAges 09. Any idea on how to change the document color? I want it black instead of white.

    Nichelle,
    You must add your own background object, and then make it Black.
    Insert > Shape > Rectangle
    In the Wrap Inspector, set to Floating.
    In the Graphic Inspector, set Stroke to None and set Fill to Black.
    Grab the corners of the document and stretch the document to cover the entire page.
    Back in the Wrap Inspector select "In Background".
    Format > Advanced > Move Object to Section Master.
    Regards,
    Jerry

  • How to get the parent window in sub-child controller class in javafx?

    how to get the parent window in sub-child controller class in javafx?

    You can get the window in which a node is contained with
    Window window = node.getScene().getWindow();Depending when this is invoked, you might want to check the Scene is not null before calling getWindow().
    If the window is a stage that is owned by another window, you can get the "parent" or "owner" window with
    Window owner = null ;
    if (window instanceof Stage) {
      Stage stage = (Stage) window ;
      owner = stage.getOwner();
    }

  • How to get the "Document Info" in illustrator

    In illustrator using "Document Info" we can get the file information. Like that how to get the document information using script. Anyone please help me.
    Regards,
    Prabudass

    I think sample code in the SDK contains a 'skeleton' plugin, I'd start with that. It should also provide a list of suites that get automatically loaded, I think it's in Suites.h. Just make sure AIDocumentSuite is in the list, and if it's not, just follow the examples in that file to add it. That should end up with a global variable called 'sDocument', which has all the suite functions as methods.
    Then it's something like:
    AIDocumentSetup setup;
    AIErr error = sDocument->GetDocumentSetup(&setup);
    // check error to make sure it's kNoErr
    Then you just have to inspect the setup struct for (hopefully) the answers you're looking for.

  • How to make like Encarta encyclopedia and basic screen settings and how to lock the documents in the entire data.

    dear guys how can i make like a off line Encarta encyclopedia and basic screen settings and how to lock the documents in the entire data in visual studio.                 
       thank you. 
                                                              Million
    Getu

    Dave,
    I will +1 Pixelan's products. They are great, simple, and have about the best support that I know of. When you explore, say Pixelan's SpiceMaster, dig deeply. Things appear rather mundane, on the surface, but there is so very much power lurking, just below the surface. I could almost imagine a 1000 page manual to cover every possible aspect of that program... Every time that I use it, I learn something new, and wonderful.
    Good luck,
    Hunt

  • How to get the document path of the pictures uploaded for products?

    Hi Gurus,
    How to get the document path of the pictures uploaded for products uploaded through tcode COMMPR01?
    Many Thanks,
    Neeraj

    client path.
    I need to get the client path in order to download files form server to client.
    Best regards,
    Huy.

Maybe you are looking for