Best way to show the user interface elements

I'm developing a plugin in which I want the user to be able to put on a mask. I would like to offer regular access to layer masks, but I would also like to be able to define the type of mask 'ellipse' or 'rectangle', similar to the red giant Colorista, for example.

What then is the best way to make these masks? Should I make it myself and apply them directly on the pixels of the layer? Or is there some sort of overlay UI that I can use? I would like the user to be able to click on the layer and drag the rectangle to scale, for example. What is a nice way to do it?

in my opinion, the best way (as far as the user experience is concerned) is to use a custom user interface and not to make the mask as part of the image.

If you return the interface as part of the image, it will be affected by the following effects and displays the channel, will be limited to the size of the layer, and will force a new rendering whenever you want to show/hide the interface.

In addition, so that the interface is interactive, you must use a custom user interface, otherwise AE will not tell you when and where the user has clicked on the chassis.

a cutom UI will be a much more elegant solution in regard to these problems.

Why only regarding these problems?

because managing a custom user interface is a significant headache.

on behalf of all those who have developed user interfaces customized for AE plug-ins, welcome to hell...

see the example of the CCU in the SDK.

It creates a simple interactive interface in the compose window.

This would be an excellent starting point for what you are looking for.

Tags: After Effects

Similar Questions

  • The best way to separate the user interface in the model LV 2012 queued Message Handler?

    If you create a new "queued Message Handler" new model 2012 LV, you will see a blue box in the case of "Update view" that says the following:

    Code Recommended - If you wish to decouple the Message Handling Loop from your user interface, consider creating User Events (like the "Stop" event in this VI) to message the Event Handling Loop whenever the user interface needs updating.
    

    I would like to give a suggestion, but I am struggling to find the best way to do this and still keep code modular.  The template creates a user - Stop.lvlib "event with a create/Destroy/fire Subvi.  I would like to create a library of "User event - Update UI.lvlib" similar with similar Create/Destroy/fire Subvi keep this new modular and separate user event.  The problem, I am struck, is that there may be only two hydrants in case Structure dynamic event so, how I modularlize creating user events in separate SubVIs and always maintain this dynamic event terminals?

    As a follow-up on the issue, it would be preferable to have a library of user by indicator events that must be updated or that a single UI update of the user and then event pass a cluster as the message that contains the name of the control for the update (to use with a structure of matter), then the data to go with it?

    Thank you!

    Instead of having the events to record in the 'create' methods, you could be part outside your 'create' SubVIs and then simply bundle them. Then, you create your individual event of the user management. See excerpt where I created a vi 'Create user event - Update' in front of the stop.

  • What is the best way to create the USER variable in BI applications?

    I just installled BI Apps and try to integrate EBS R12 with OBIEE 11 g

    We have the USER variable that is already defined in the RPD to BI applications.

    In the security context init EBS block, I need to set the USER variable, but when I would define it it... He said * 'USER' has already been defined in the variable "authentication." "" USER. "

    What is the best way to create the variable USER security context of EBS init block?

    (1) remove the existing USER variable and then set a new (in this case, all the places where the variable USER is getting used to the RPD would become < missing >)
    And told me that he shouldn't do.

    Let me know how it is possible.

    Thank you
    Ashish

    Disable the existing Init block and then double-click the USER variable and press NEW to create the new Init block

    Thank you

    Published by: Srini VIEREN on May 1, 2013 16:18

  • INTERFACE design - what is the best way to allow the user to define a kind of infusion at various times (non-periodic)?

    I want to allow the user to specify a curve like this:

    Such as some under - VI shows the A2 value when a variable of time is between R1, A1 when the time variable is between A2 and A3 when time is in the range A3.

    My design looks like this:

    With the error checking that looks like this:

    My question is, is the approach of the table according to optimal? Otherwise, how could combat this?

    I think I can summarize the conversation on this point as a response to the original question (what is the best way...) -to start writing code, to think about what you want to accomplish and write it down (otherwise known as 'Write the first Documentation').  One of the points of a good User Interface is that it is not allow users to "stupid mistakes" - it leads the user "by hand", limiting the entries to the "legal values" and demanding that the entries be made logically.

    If you were going to have a list of Infusions to enter, it is therefore logical to decide or not to enter into time intervals (which are always > 0) or order the times (which, logically) are still growing.  You can (and should) decide that you (or you may have a control that allows the user decide, but maybe it's too flexible) and then apply your "rules".

    Let's say you've decided on "Intervals" (which seems to me to be more User Friendly).  After the user has entered the intervals (and you've provided a nice plot of perfusion vs. time), pouvez allow you the user to an interval of 'split', 'Delete' an interval, or "Edit the Infusion" interval, or you can decide to have a choice more simple "accept or start again" - If you have only a few intervals, the last would be the simplest (and therefore best) design choice.

    Spend more time thinking before coding usually pays Big dividends!

    (Speaking of sad experience) Bob Schor

  • Use QObject as a property in the user interface element

    I want to store an instance of QObject in an element of user interface for later use. My attempt to use a type of QtObject failed as follows:

    model var = retrieveModel() / / get instance of method C++ Q_INVOKABLE QObject

    containerInstance.model = modΦle

    ...

    {Of container

    ID: containerInstance

    model QtObject properties.<-- attempt="" to="" store="" the="" qobject="">

    {Label

    text: model.name

    onXYZ: {}

    Model of QObject here use

    }

    }
    }

    But apparently QtObject differs from QObject:

    Asset: / / / test. QML:51: error: could not assign QObject * to bb::cascades:QmlQObject *.

    Does anyone have an idea to store a QObject as a property of a UI element? My other option is to store the model instance of QObject as a global variable in "pints", but this isn't a nice solution.

    You must expose the object that you want to use in C++ and QML.

    Read this to understand how it's done...

    http://developer.BlackBerry.com/native/documentation/Cascades/dev/integrating_cpp_qml/

  • What is the best way to allow the user to select other images?

    Part 1: what is the commonly accepted practice to include images in web pages? The insertion/img tag is still the accepted practice, or it makes more use divs with background images?

    Part 2: I want to offer the user the option of images display normally, with inverted colours (as edited by Photoshop) images or no images at all? Here's my idea please tell me if there is a better way. The scenario is a simple tutorial with screenshots, in most cases it will take only one page. The reason is I often follow tutorials like this one, but due to vision problems, I use a Windows high contrast theme. The screenshots seem to be like BLOBs all very bright, white. I would like to create tutorials for others who also use high contrast.

    1. Have the options at the top of the unique links page or a drop down
    2. This defines a variable
    3. In IF statements, wrapping the tag img or divs.

    Seems simple enough. But for the value of the variable is taken into account, that it requires a reload of the page? It seems that the page loads first using the default setting. If so, is there anyway to do this without a reload?

    If it happens that the tutorial extend to more than one page, it would be preferable to write the variable as a variable session, the database entry, a cookie or text file?

    Is it possible to invert the colors of the image without using a separate image? Most of the browsers detect the Windows theme and follow along. They have used to also reverse the images, but pixel-by-pixel - made what appeared to be the mathematical inverse of each pixel. Now, browsers just leave images alone (as well they should). And now that think, they can also ignore any element background and just make the black color instead of any background color or image.

    Thank you!

    1. it depends on what you do, generally with the help of the tag is still a common practice ( and srcset are also available, which gives much more control who sees what, but does not have 100% support yet). Place an image into a background css is typically used if you are going to place the text or other content on the image or make some kind of special effects using css.

    2. you can use some relatively simple css to change all images on your site in versions reversed using filter:invert ()...

    https://davidwalsh.name/invert-colors-CSS

    It does not work in any version of Internet Explorer, but Edge is supported. IE uses a css filter called owner snip: xray that before setting the other setting in your css should take care of the issue, however.

    https://davidwalsh.name/CSS-image-filters-Internet-Explorer

  • Context menu is off of the user interface element that spawned it

    (1) go to the add-on Manager.
    2) click the gear that creates a context menu with the option to force all the Add-ons to check updates.
    (3) shortcut menu does not appear to be linked to the button wheel pinion and is rather offset bottom-right of the key.

    Final version of Firefox 33.

    Edit: I guess it could be a problem with the add-on "Classic theme restaurateur"

    Through the process of elimination, it seems to be caused by "Zoom Page 11.1". Disabling the addon and reset the browser fixed the position of the context menu.

  • Any way to show the menu rear element?

    I'm just packing a mobile web link in a Tablet app. So, basically, the application displays the URL of web page set in the config.xml file. I want to add the menu item of Web as a back and next button, someone knows how to do?

    Anyway I could write some code to make them as a simple browser that connects a default URL?

    Thank you!

    Kevin

    The instructions are at https://developer.blackberry.com/html5/apis/blackberry.invoke.html

    It seems that the API comes to change (I have not tested the new function) but you have a javascript command that you call with onclick.

    Sample untested (by me):

    function openWebLinkInBrowser() {
        // open web link in browser
        blackberry.invoke.invoke({
            target: "sys.browser",
            uri: "http://www.blackberry.com"
        });
    }
    
    
    
  • to access the QML attached objects in C++ and best practices for the handling of the user interface in classes

    Hello

    I have in fact 2 queries

    (1) how can we access attachedobjects defined in QML in C++?

    (2) I'm loving development on Blackberry 10 C++ is one of my favorites. But I'm a bit lost when it comes to managing the user interface in classes. For example when we create the project through momentics we have a class called ApplicationUI. It manages all the (default) user interface commands, we in C++. as for example creating the document qml and setting as root user interface, etc. I am now working on an app that have NavigationPane as root, and then I continue to push pages (like the screens). But now the code for all pages is inside my ApplicationUI. What is the best practice to keep the UI for each page logic in a separte C++ class?

    I also develop for Android that a separate class for each activity, this code does not mingle for each activity. Please guide me how can I keep logic of user interface of each Page into a separate class of C++?

    regarding your second question:
    I think this is the simplest approach to keep all things in the UI in QML. You can easily put things into separate files.

    If you want to use c ++ to the user interface: can be done, too. just put it in separate classes and include those in your application class.

  • Best way to migrate the Apex in Production applications - how users are affected?


    Hello

    We have been migrating our apex in production applications after the opening hours to try to minimize the impact on users. Can the affected users if they use the application while migration is taken?

    It's how we migrate:

    -We export enforcement apex of the development environment. This creates a SQL file.

    -Then the SQL file is imported into the Production by using the option 'reuse application ID export file XX'

    Please let me know if there is a better way to move the application in production, and if the user isn't be affected if we during opening hours.

    Thank you

    Violeta

    Hi Violeta,

    Violeta wrote:

    We have been migrating our apex in production applications after the opening hours to try to minimize the impact on users. Can the affected users if they use the application while migration is taken?

    It's how we migrate:

    -We export enforcement apex of the development environment. This creates a SQL file.

    -Then the SQL file is imported into the Production by using the option 'reuse application ID export file XX'

    Please let me know if there is a better way to move the application in production, and if the user isn't be affected if we during opening hours.

    Yes for sure users will be get affected when you replace the current with a new app, if they use it at the same time.

    Another best way to move the application to the production (keeping the same URL of deployment) is to use the Application Alias for your URL of the App Production.

    In this way, you can import the application while users are using the old application. And then after opening hours all you have to do is delete the alias from the application of the old app and assign this alias to your new application.

    Refer to the following response: Re: versioning in Apex (the thread is on version control, but, in this reply, I have explained the deployment of Application Alias method).

    I hope this helps!

    Kind regards

    Kiran

  • Is there a way to change the number of Sockets of Test, the User Interface of CVI?

    I would like to have the number of sockets in an INI file, the User Interface would be read the value of the file and set the number of Sockets of Test.  I know that it is possible by adding a callback sequence, ModelOptions, to my files in sequence and by changing the setting.  How would you do it in the UI?

    You might have the user interface to read and edit the reportoptions config file as the process template (see the source code for modelsupport2.dll in \Components\Models\TestStandModels). But why do you need UI to do this? Why not simply substitute the recall of ModelOptions and he do there?

    -Doug

  • How to uninstall apps CC2015 (to change the language of the user interface) if the applications do not show up as installed in the desktop creative cloud application?

    Because I'm more used to the versions IN applications that I need to uninstall some applications that I had already installed in my computer to change the language of the user interface. After some research, found this procedure: change the language setting of your creative Cloud applications but the apps simply appear not listed as installed creative cloud. What should do?

    uninstall all of your programs of cc, including the application of office cc.

    clean through the use of the Adobe Creative Cloud cleaning tool to solve installation problems

    then install the desktop app, apps download Adobe Creative Cloud | CC free trial Adobe

    After changing the settings for the language you want to use, install your programs of cc.

  • How to navigate through all of the links in the links Panel in the user interface?

    Hello world

    I wonder how I can browse all the links in the links Panel, programmatically. I have a document where the resources present in this Panel are not available using the ILinkManager. He tells me there are no links in the document when using ILinkManager-> GetLinkCount().

    These resources are not more related to any element on the page. These are images which are not more related to what it is. Right-click on it and click on 'join the link' shows nothing in the document (the same operation on a resource that is linked to a graphic image focuses on it). I can manually re-edit the link, but nothing more.

    In the user interface, there is no way to delete (not menu 'remove' or whatever).

    I think I "created" them as follows: during the creation of the story, the story is tagged. Then I attach a picture frame and label it in the history. Then I remove the frame (s) containing the history, so that its history xml is "not placed" (see kXMLUnplaceCmdBoss). At this time (if I'm not mistaken), I created these inaccessible resources. I see the xml story unplaced in the structure of the document that remains not placed XML (in the backup store) and resources in the links Panel.

    History unplaced XML CAN be removed manually, but not these inaccessible resources. However, there must be a way, as InDesign can display them.

    How to reach these 'lost' resources and delete them, by programming?

    Independent of your real problem, I would first try the equivalent in the user interface.

    Preparation:

    To simplify things and make them visible, working on a traditional tale - not the backup store.

    The story should be labeled and will remain so.

    Add content as complicated as you want.

    Some content preceding and behind it must survive.

    Your content must be labeled - surrounded by a single label.

    Text-Select this unique tag (see the invisible etc for the right selection).

    Remove the text selection.

    See: Tags are gone, content text disappeared, the images have disappeared.

    Now find a way to perform this deletion text programmatically. Without specific code XML - operation but a simple text, InDesign will do the rest.

    Finally, use the code that results on the backup store.

  • Try to update the user interface with another thread

    Hello

    Start a class JavaFX from another application, and then I want to change the UI of it components. I tried to use Platform.runLater to do.

    But the GUI crashes at the start (does not display anything) for the first 5 seconds (sleep time) changes and shows.

    I want to display the GUI at first, and then after 5 seconds the GUI should be updated with the message, but with the code it hangs just first and screens below everything after 5 seconds.

    Here sampleGUI is a an application javafx with inside text fields.

    + / public class StartGame extends Application {+
    +@Override+
    + public void start (steps) riser Exception {+
    final sampleGUI gui = new sampeGUI();
    GUI. Start (training);

    + Platform.runLater (new Runnable() {+)
    +@Override+
    + public void run() {+
    + try {+
    System.out.println ("sleep now...");
    Thread.Sleep (5000);
    System.out.println ("sleep above!");
    gui.updateText ("new message");
    +} catch (InterruptedException ex) {+
    System.out.println ("exception" ex); +
    +}+
    +}+
    +});+
    +}+
    +}+
    Platform.runLater(new Runnable() {
      @Override
      public void run() {
       // ...
      }
    });
    

    causes the run method of the executable to run on the Thread of the FX Application. Since you put Thread.sleep (5000) inside the run method of your executable, sleep occurs on the Thread of the FX Application.

    The call to runLater (...) can be called from any thread, including the Thread of Application FX.

    So, if you are not in the FX Application thread, you want to:

    // any long-running task, for example
    System.out.println("Sleeping now");
    Thread.sleep(5000);
    System.out.println("Sleep over");
    Platform.runLater(new Runnable() {
      @Override
      public void run() {
        // update UI:
        gui.updateText("New Message");
      }
    });
    

    If you are on the thread of the Application of FX, which is the case in your Application.start (...) method, you must create a new thread to run your code of long duration. You can do this "manually", creating a Thread and a workable for it to run, but it is probably best to use the simultaneity of JavaFX API, which has many hooks useful for updating the user interface on the Thread of the FX Application.

    In this case, the code would look like this:

    public class StartGame extends Application {
      @Override
      public void start(Stage stage) throws Exception {
        final SampleGUI gui = new SampleGUI();
        gui.start();
        final Task waitingTask = new Task() {
          @Override
          public String call() throws Exception {
            System.out.println("Sleeping");
            Thread.sleep(5000);
            System.out.println("Sleep over!");
            return "New Message" ;
          }
        };
    
        waitingTask.setOnSucceeded(new EventHandler() {
          @Override
          public void handle(WorkerStateEvent event) {
            gui.updateMessage(waitingTask.getValue());
          }
        });
    
        ExecutorService executor = Executors.newSingleThreadExecutor();
        executor.submit(waitingTask);
      }
    }
    

    There are (probably of dozens of) other ways to use a task to do. See the API documentation [url http://docs.oracle.com/javafx/2/api/javafx/concurrent/Task.html] for the task for more information.

  • Changing the components of the user interface on a page programmatically

    Do I need auto-bind backing bean if I have to programmatically change the attributes, the events of the user interface on a page components? I'm sure that Yes. Thus, each jsf page must have a bean of support to do the above and a bean managed to retrieve/store data? It seems that backing bean is more than enough. Why do I need a managed bean? Is there a way to delete unwanted ui components accessors in the bean to support? Thank you.

    You need a support to programaticaly access bean and change elements on your page.
    But you do not need to expose each component on your page in the bean support - the best practice is to expose a few components that actually access you.
    So instead of using the auto-bind tge option that offers JDeveloper, create your page without a bean of support. Then when you need to access a specific object in your code, go to the attribute binding of this object in the property inspector, click the > change to his right and JDeveloper will give you a quick way to expose this specific component in a pod of support.

Maybe you are looking for