• Global community
    • Language:
      • Deutsch
      • English
      • Español
      • Français
      • Português
  • 日本語コミュニティ
    Dedicated community for Japanese speakers
  • 한국 커뮤니티
    Dedicated community for Korean speakers
Exit
0

Observer or Notification when text frames are linked

Contributor ,
Jul 29, 2021 Jul 29, 2021

Copy link to clipboard

Copied

Hi,

 

I need notification when text frames are Linked together.

 

I implemented kTextLinkResponderService and I get notification when two frames are linked together. The signal is sent by kPrivateTextLinkCmdBoss.

 

I also tried kMergeStoriesSignalService and it works same as kTextLinkResponderService.

 

But I don't get notification for the following scenario -

 

I have 3 text frames linked together Text1->Text2->Text3.

 

Now, I created new text frame and linked to Text3. Now, I don't get any notification.

 

Any ideas how to get notified. I don't want to implement command interceptor as it has performance issues.

 

Regards,

Rahul Rastogi

TOPICS
SDK

Views

432

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines

correct answers 1 Correct answer

Guide , Jul 30, 2021 Jul 30, 2021

When I load the place gun from outgoing port of Text3 and link to by clicking into Text4, I can observe that via kBeforePlaceSignalResponderService.

+ IID_IPLACEBEHAVIORSIGNALDATA has  source kMultiColumnItemBoss and target kSplineItemBoss.
On the other hand this is a UI notification, I don't expect it to work with scripting.
 

I'd guess you are best served by kMergeStoriesSignalService, where the signal mgr is on kMergeStoriesCmdBoss. I did also see that. Hmm, you mentioned it. Create a text frame

...

Votes

Translate

Translate
Guide ,
Jul 30, 2021 Jul 30, 2021

Copy link to clipboard

Copied

When I load the place gun from outgoing port of Text3 and link to by clicking into Text4, I can observe that via kBeforePlaceSignalResponderService.

+ IID_IPLACEBEHAVIORSIGNALDATA has  source kMultiColumnItemBoss and target kSplineItemBoss.
On the other hand this is a UI notification, I don't expect it to work with scripting.
 

I'd guess you are best served by kMergeStoriesSignalService, where the signal mgr is on kMergeStoriesCmdBoss. I did also see that. Hmm, you mentioned it. Create a text frame 5 as you suggest that order, and again outgoing port from Text4 to Text5.  kMergeStoriesSignalService is sent.

 

Please describe your scenario, are you connecting via other means than UI (script, other plug-in not in your control?)

 

One notification if you are watching a specific story could be 

change=kTextLinkChangingMsg protocol IID_IFRAMELIST (subject kDocBoss) where the void* is kPrivateTextLinkCmdBoss.
 
I also came across kICBridgeLayoutResponderService, but that is a bit stretching it …
 

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Contributor ,
Jul 30, 2021 Jul 30, 2021

Copy link to clipboard

Copied

Hi @Dirk Becker 

 

Thank you very much for your insights. The below reference worked for me -

 

change=kTextLinkChangingMsg protocol IID_IFRAMELIST (subject kDocBoss) where the void* is kPrivateTextLinkCmdBoss.

 

I am able to observe IID_IFRAMELIST and command kPrivateTextLinkCmdBoss and can get which frame is being linked.

 

You are the best 🙂 and always helpful on the forums. 

 

I once again thank you for spending your valuable time in giving attention and replying my query.

 

Regards,

Rahul Rastogi

 

 

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Guide ,
Jul 30, 2021 Jul 30, 2021

Copy link to clipboard

Copied

Hi Rahul,

 

We should still work out why the signals are not delivered at your side while they are here. Anything special about your text frames? Maybe something ME?

 

Otherwise, are you using any special flags / policies on your responder service?

Besides when you use the framelist notification better also prepare for lazy notification, and check with manual undo/redo. 😉 that everything still works.

 

Regards,

Dirk

 

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Contributor ,
Jul 30, 2021 Jul 30, 2021

Copy link to clipboard

Copied

LATEST

Signal still not get delivered. I revalidated this.

 

Currently, I am using InDesign UI and not doing anything from Scripts. But yes, it will be possible to link frames from scripts also and my plugins will be running on InDesign Server as well in future.

 

I created 3 text frames and all linked together in sequence - Text1->Text2->Text3.

 

Then I created new text frame Text4 and its outgoing port is to Text3. After this, I have

Text1->Text2 Linked together.

Text4->Text3 Linked together.

 

When I do this then I don't get signal for -

kTextLinkResponderService

kMergeStoriesSignalService.

 

Currently, I am using InDesigin CS6 (very old, but people still use it because of perpetual license for CS6).

 

Note, If I create text frame Text1 and Text2 and I link it then I get the signals from both kTextLinkResponderService, kMergeStoriesSignalService.

 

In future, I will be migrating my plugin to latest version of Adobe InDesign CC2021.

 

 

 

 

 

 

 

 

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines