Interact with my panel while modal dialog is active
Hello again!
I describe nearly my workflow while batch editing photos with droplet:
- By the name of the folder with special tags, the script determines the required aspect ratio and print format.
2. A cropping dialog opens, in which I can adjust the cropping frame depending on the scene in the photo.
3. A modal window of curves opens, which I can also correct.
4. The image is resampled according to the required print size.
5. The photo is saved with the parameters specified in the script and closes...
..then the droplet calls the next photo and everything starts again.
And thanks to Kukurykus found solution for one of my problem.
But I have one more 🙂 , and hope I will found solution for this one too.
So.. Then photos processed in droplet, some of them have some non-standard flaws requiring mandatory manual fixes, not amenable to any software solutions. (e.g. red-eye, unfortunate lens flare that looks like specks of dust or a real dust on scanned images etc).
At this time, I use "Cancel" button then curves edit, thus canceling the editing of the current photo and these "canceled" photos remain open in Photoshop untill the entire droplet package has been processed, and then I can edit it manually.
Ideally, I'd like to be able to tag these photos in some way when I have the curves edit dialog open or when the image crop dialog is open. I was thinking about creating some kind of temporary file in which the path of images needed for "manual-processing" would simply be written in a column, so that after the completion of the entire droplet package, these images, according to the list in the temporary file, could be loaded into photoshop for manual processing.
I created a CEP panel and successfully learned how to create and edit lists of variables. However.. no panel mode that allows me to interact with its elements at the moment when the modal curves or cropping dialog is open.
Conversely, if I make my panel a modal window while it's open, I won't be able to use photo editing tools (action/script/curves/cropping, etc).
However, I see that many of the native elements in Photoshop's interface are still available for interaction even if the curves or editing dialog is active. For example, the panel selection in the Window menu or the Share button in the upper right corner of the Photoshop window... as well as the Action panel and its controls. In addition, if debugging is enabled for my panel, I can interact with elements of my panel in the debug window and activate script execution even if the curves or framing modal dialog is open at this moment.
And this gave me the idea that it is probably still possible in some way to make it possible to click on a button in my panel or register a hotkey press even if the modal curves or cropping dialog is open?
Maybe somebody faced with a similar need and came up with a solution to this paradoxical problem?
Once again, I want to draw attention to the fact that I understand the importance of not violating the order of interaction of modal dialogs with windows and panels located UNDER them, but in my case, I do not need to break the "lock" of the image state, but only need to get its path / name and run the function writing this data to a file.
Thanks!
Here my manifest.xml
If need, i upload my html/js files
<?xml version="1.0" encoding="UTF-8"?>
<!-- 1 -->
<ExtensionManifest xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ExtensionBundleId="com.printprep" ExtensionBundleVersion="1.0.0" Version="9.0">
<!-- 2 -->
<ExtensionList>
<Extension Id="com.printprep.panel" Version="0.0.1" />
</ExtensionList>
<ExecutionEnvironment>
<!-- 3 -->
<HostList>
<Host Name="PHSP" Version="20" />
<Host Name="PHXS" Version="20" />
</HostList>
<LocaleList>
<Locale Code="All" />
</LocaleList>
<RequiredRuntimeList>
<!-- 4 -->
<RequiredRuntime Name="CSXS" Version="9.0" />
</RequiredRuntimeList>
</ExecutionEnvironment>
<DispatchInfoList>
<Extension Id="com.printprep.panel">
<DispatchInfo>
<Resources>
<!-- 5 -->
<CEFCommandLine>
<Parameter>--enable-nodejs</Parameter>
<Parameter>--mixed-context</Parameter>
</CEFCommandLine>
<MainPath>./index.html</MainPath>
</Resources>
<UI>
<!-- 6 -->
<Type>Panel</Type>
<!-- 7 -->
<Menu>Подготовка к печати</Menu>
<Geometry>
<!-- 8 -->
<Size>
<Height>225</Height>
<Width>270</Width>
</Size>
<MinSize>
<Height>165</Height>
<Width>250</Width>
</MinSize>
<MaxSize>
<Height>5000</Height>
<Width>5000</Width>
</MaxSize>
</Geometry>
<Icons>
<Icon Type="Normal">./images/icon.png</Icon>
</Icons>
</UI>
</DispatchInfo>
</Extension>
</DispatchInfoList>
</ExtensionManifest>