Quantcast
Channel: Adobe Community : Popular Discussions - InDesign SDK
Viewing all articles
Browse latest Browse all 78596

CS3: Detection selection change of page items

$
0
0
Hi<br /><br />I like to detect the selection change of page items (text or graphic frames). I implemented a doc change observer, but this doesn't work. The update method is called if I create a new page item for example. This means that the observer works, but not for the selection change. Maybe I have forgotten the right attachment.<br /><br />How can I detect the selection changes of page items?<br /><br />Here is my code where I attach my doc change observer.<br /><br />------------------------------------------------------------------- ------<br /><br />void CTabFlowDocChangesObserver::AttachDocument(IDocument* ipDocument)<br />{<br />     do {<br />          InterfacePtr<ISubject> ipDocSubject(ipDocument, UseDefaultIID());<br />          if (ipDocSubject == nil) break;<br />    if (!ipDocSubject->IsAttached(ISubject::kRegularAttachment, this, IID_IHIERARCHY_DOCUMENT, IID_ITABFLOWDOCCHANGESOBSERVER)) {<br />               ipDocSubject->AttachObserver(ISubject::kRegularAttac hment, this, IID_IHIERARCHY_DOCUMENT, IID_ITABFLOWDOCCHANGESOBSERVER);<br />          }<br />    if (!ipDocSubject->IsAttached(this, IID_IPATHSELECTIONDATA, IID_ITABFLOWDOCCHANGESOBSERVER)) {<br />               ipDocSubject->AttachObserver(this, IID_IPATHSELECTIONDATA, IID_ITABFLOWDOCCHANGESOBSERVER);<br />          }<br />    if (!ipDocSubject->IsAttached(this, IID_IPATHSELECTION, IID_ITABFLOWDOCCHANGESOBSERVER)) {<br />               ipDocSubject->AttachObserver(this, IID_IPATHSELECTION, IID_ITABFLOWDOCCHANGESOBSERVER);<br />          }<br />    if (!ipDocSubject->IsAttached(this, IID_IHIERARCHY, IID_ITABFLOWDOCCHANGESOBSERVER)) {<br />               ipDocSubject->AttachObserver(this, IID_IHIERARCHY, IID_ITABFLOWDOCCHANGESOBSERVER);<br />          }<br />    if (!ipDocSubject->IsAttached(this, IID_IPATHSELECTIONCHANGE, IID_ITABFLOWDOCCHANGESOBSERVER)) {<br />               ipDocSubject->AttachObserver(this, IID_IPATHSELECTIONCHANGE, IID_ITABFLOWDOCCHANGESOBSERVER);<br />          }<br />    if (!ipDocSubject->IsAttached(this, IID_IPATHSELECTIONDOCOBSERVER, IID_ITABFLOWDOCCHANGESOBSERVER)) {<br />               ipDocSubject->AttachObserver(this, IID_IPATHSELECTIONDOCOBSERVER, IID_ITABFLOWDOCCHANGESOBSERVER);<br />          }<br />    if (!ipDocSubject->IsAttached(this, IID_ISELECTIONFILTER, IID_ITABFLOWDOCCHANGESOBSERVER)) {<br />               ipDocSubject->AttachObserver(this, IID_ISELECTIONFILTER, IID_ITABFLOWDOCCHANGESOBSERVER);<br />          }<br />    if (!ipDocSubject->IsAttached(this, IID_IGEOMETRY_DOCUMENT, IID_ITABFLOWDOCCHANGESOBSERVER)) {<br />               ipDocSubject->AttachObserver(this, IID_IGEOMETRY_DOCUMENT, IID_ITABFLOWDOCCHANGESOBSERVER);<br />          }<br /><br />    if (!ipDocSubject->IsAttached(this, IID_ITRANSFORM_DOCUMENT, IID_ITABFLOWDOCCHANGESOBSERVER)) {<br />               ipDocSubject->AttachObserver(this, IID_ITRANSFORM_DOCUMENT, IID_ITABFLOWDOCCHANGESOBSERVER);<br />          }<br /><br />    if (!ipDocSubject->IsAttached(this, IID_IMOVEREFERENCEPOINTCMDDATA , IID_ITABFLOWDOCCHANGESOBSERVER)) {<br />               ipDocSubject->AttachObserver(this, IID_IMOVEREFERENCEPOINTCMDDATA , IID_ITABFLOWDOCCHANGESOBSERVER);<br />          }<br />  } while (kFalse);<br />}<br /><br />------------------------------------------------------------------- ------<br /><br />Is it correct to use a doc chnage observer?<br /><br />Have I to use a selection filter? How can I implement it if yes?<br /><br />Thanks for the support<br />Hans

Viewing all articles
Browse latest Browse all 78596

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>