Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ Adobe Eve ASL:如何将Eve文件呈现到gui窗口中?_C++_User Interface_Boost_Cross Platform_Adobe - Fatal编程技术网

C++ Adobe Eve ASL:如何将Eve文件呈现到gui窗口中?

C++ Adobe Eve ASL:如何将Eve文件呈现到gui窗口中?,c++,user-interface,boost,cross-platform,adobe,C++,User Interface,Boost,Cross Platform,Adobe,因此,我们有简单的.eve和.adam文件,所有文件都包括boost和adobe所需的文件。我们需要一个跨平台的功能,使我们的布局呈现,并在我们的平台上作为真实的窗口移动(我们需要它的Mac OS X,Windows,Linux)。怎么做这样的事 我们已经开始尝试简化在ASL文件夹(begin)中找到的一些教程,并获得了一些结果。但我们的方法不是跨平台的,也不是任何eazy获取=(因此,我们要求您停止获取如何使用adam和eve文件定义的ok按钮显示简单窗口 下面是简单Adam和简单eve文件的

因此,我们有简单的
.eve
.adam
文件,所有文件都包括
boost
adobe
所需的文件。我们需要一个跨平台的功能,使我们的布局呈现,并在我们的平台上作为真实的窗口移动(我们需要它的Mac OS X,Windows,Linux)。怎么做这样的事

我们已经开始尝试简化在ASL文件夹(
begin
)中找到的一些教程,并获得了一些结果。但我们的方法不是跨平台的,也不是任何eazy获取=(因此,我们要求您停止获取如何使用adam和eve文件定义的ok按钮显示简单窗口

下面是简单Adam和简单eve文件的示例

layout my_dialog
{
    view dialog(name: localize(\"<xstr id='my_dialog_name'>My Dialog</xstr>\"))
    {
        slider(bind: @my_value, format: {first: 0, last: 100});
        edit_number(name: 'Value:', bind: @my_value, format: '#', alt: 'Alters the value of the slider');
        button (items: [
                           { name: localize(\"<xstr id='ok'>OK</xstr>\"), action: @ok, bind: @result, alt: 'Perform the command with the current settings' },
                           { name: localize(\"<xstr id='reset'>Reset</xstr>\"), action: @reset, modifiers: @opt, alt: 'Reset the dialog settings' }
                       ]);
    }
}
layout my_对话框
{
查看对话框(名称:本地化(“我的对话框”)
{
滑块(绑定:@my_值,格式:{first:0,last:100});
编辑_编号(名称:“值:”,绑定:@my_值,格式:“#”,alt:“更改滑块的值”);
按钮(项目:[
{name:localize(\“OK\”),操作:@OK,绑定:@result,alt:'performance the command with the current settings'},
{name:localize(\“Reset\”),操作:@Reset,修饰符:@opt,alt:'Reset the dialog settings'}
]);
}
}

工作表我的工作表
{
接口:
我的价值:42;
输出:
结果非常简单

资料来源:

#include <boost/thread/tss.hpp>
#include <adobe/future/modal_dialog_interface.hpp>
#include <boost/filesystem/path.hpp>

using namespace std;

inline bool always_break(adobe::name_t, const adobe::any_regular_t&)
    { return true; }

void dialog()
{
    stringstream       sheet;
    stringstream       layout;
    boost::filesystem::path icon_directory_path;

    // The sheet for the dialog
    sheet <<
                        "sheet my_sheet\n"
                        "{\n"
                        "interface:\n"
                        "   my_value: 42;\n"
                        "output:\n"
                        "   result <== { value: my_value };\n"
                        "}\n"
    ;

    // the layout
    layout <<
                                "layout my_dialog\n"
                                "{\n"
                                "    view dialog(name: 'My Dialog')\n"
                                "    {\n"
                                "        slider(bind: @my_value, format: {first: 0, last: 100});\n"
                                "        edit_number(name: 'Value:', bind: @my_value, format: '#', alt: 'Alters the value of the slider');\n"
                                "        button (items: [\n"
                                "                           { name: 'OK', action: @ok, bind: @result, alt: 'Perform the command with the current settings' },\n"
                                "                           { name: 'Reset', action: @reset, modifiers: @opt, alt: 'Reset the dialog settings' }\n"
                                "                       ]);\n"
                                "    }\n"
                                "}\n"
        ;

    // finally set up the params for the modal dialog interface call
    adobe::dialog_result_t result(adobe::handle_dialog(adobe::dictionary_t(),
                                                       adobe::dictionary_t(),
                                                       adobe::dictionary_t(),
                                                       adobe::dialog_display_s,
                                                       layout,
                                                       sheet,
                                                       &always_break,
                                                       icon_directory_path));

    int is_checked(result.command_m[adobe::static_name_t("value")].cast<int>());
        cout << "return value: " << is_checked << endl;
}

int  main(  )
{
        dialog();
        cin.get();
    return 0;
} 
#包括
#包括
#包括
使用名称空间std;
内联bool总是中断(adobe::name\u t,const adobe::any\u regular\u t&)
{返回true;}
无效对话框()
{
流片;
串流布局;
boost::filesystem::path图标\目录\路径;
//对话框的工作表
这真的很简单

资料来源:

#include <boost/thread/tss.hpp>
#include <adobe/future/modal_dialog_interface.hpp>
#include <boost/filesystem/path.hpp>

using namespace std;

inline bool always_break(adobe::name_t, const adobe::any_regular_t&)
    { return true; }

void dialog()
{
    stringstream       sheet;
    stringstream       layout;
    boost::filesystem::path icon_directory_path;

    // The sheet for the dialog
    sheet <<
                        "sheet my_sheet\n"
                        "{\n"
                        "interface:\n"
                        "   my_value: 42;\n"
                        "output:\n"
                        "   result <== { value: my_value };\n"
                        "}\n"
    ;

    // the layout
    layout <<
                                "layout my_dialog\n"
                                "{\n"
                                "    view dialog(name: 'My Dialog')\n"
                                "    {\n"
                                "        slider(bind: @my_value, format: {first: 0, last: 100});\n"
                                "        edit_number(name: 'Value:', bind: @my_value, format: '#', alt: 'Alters the value of the slider');\n"
                                "        button (items: [\n"
                                "                           { name: 'OK', action: @ok, bind: @result, alt: 'Perform the command with the current settings' },\n"
                                "                           { name: 'Reset', action: @reset, modifiers: @opt, alt: 'Reset the dialog settings' }\n"
                                "                       ]);\n"
                                "    }\n"
                                "}\n"
        ;

    // finally set up the params for the modal dialog interface call
    adobe::dialog_result_t result(adobe::handle_dialog(adobe::dictionary_t(),
                                                       adobe::dictionary_t(),
                                                       adobe::dictionary_t(),
                                                       adobe::dialog_display_s,
                                                       layout,
                                                       sheet,
                                                       &always_break,
                                                       icon_directory_path));

    int is_checked(result.command_m[adobe::static_name_t("value")].cast<int>());
        cout << "return value: " << is_checked << endl;
}

int  main(  )
{
        dialog();
        cin.get();
    return 0;
} 
#包括
#包括
#包括
使用名称空间std;
内联bool总是中断(adobe::name\u t,const adobe::any\u regular\u t&)
{返回true;}
无效对话框()
{
流片;
串流布局;
boost::filesystem::path图标\目录\路径;
//对话框的工作表
床单