eyeos2中文开发手册(编辑修改稿)内容摘要:
args) { var app = new (checknum, pid, args)。 ()。 } (39。 39。 , { extend: , construct: function(checknum, pid, args) { (this, 39。 notepad39。 , checknum, pid)。 }, members: { drawGUI: function() { // code to create the GUI is here. } } }。 第一个代码块定义了一个名为 notepad_application的函数,这个函数是应用程序的入口,在程序运行时被调用。 下面定义的那个类代表该应用程序,他是 eyeOS的一个应用程序,它继承自。 notepad_application函数定义和执行了 drawGUI方法。 drawGUI用其中的代码来创建应用程序的图形用户界面( GUI)。 PHP文件中最少的代码是 ... ?php Abstract class NotepadApplication extends EyeosApplicationExecutable{} ? 在这里,我们定义一个抽象类(它不能被实例化)称为 NotepadApplication,他继承了 EyeosApplicationExecutable。 在 execmodules一章,你会知道,应用程序可以从这个类扩展。 如果您想添加一个函数到 PHP文件中且 JavaScript可以调用它,将关键字“ public”和“ static”放在函数名前面。 该函数必须放置在类定义中,如下 ... ?php abstract class NotepadApplication extends EyeosApplicationExecutable { public static function myFunction() { return Hello World。 } } ? 现在“ myfunction”是可以使用的函数名,可以在您的应用程序的 JavaScript端通过callMessage调用,如同前面看到的那样。 需要注意的是,在应用程序目录中没有提及的 ,在原来的开发手册中有说明。 这是用来指定应用程序的名称,图标,描述,作者,和其他应用程序的元数据。 实践可以解释一切,我们将开发一个应用程序,它从服务器显示当前的日期和时间,当按下“ Get server time”按钮时。 apps目录下创建一个名为 servertime的目录。 servertime目录下创建一个名为 JavaScript文件 ... // Create main function. function servertime_application(checknum, pid, args) { var app = new (checknum, pid, args)。 ()。 } // Define class for this application. (39。 39。 , { extend: , construct: function(checknum, pid, args) { (this, 39。 servertime39。 , checknum, pid)。 }, members: { drawGUI: function() { // Create the window. var mainWindow = new (this, tr(Server Time))。 // Set the layout manager the window is to use to Vertical Box. (new ())。 // Create label to display the time and add it to the main window. var timeLabel = new (Press the button below to see the Server Time.)。 (timeLabel)。 // Create button to call the PHP function to get the time. var aButton = new (Get Server Time)。 // Add listener to do something when the button is clicked. (39。 click39。 , function() { ((), 39。 getTimeFromServer39。 , null, function(theTime) { (The time is : + theTime)。 }, this)。 }, this)。 // Add the button to the main window. (aButton)。 // Set min width and height of the window to stop it being too small. (300)。 (150)。 (false)。 // Remember to open the window, otherwise nothing will show on the screen. ()。 } } })。 ... ... ?php abstract class ServertimeApplication extends EyeosApplicationExecutable { public static function getTimeFromServer() { return date(39。 Ymd h:i:s39。 )。 } } ? 在 eyeOS桌面上运行应用程序,您需要沿着屏幕上方找到“ Application”菜单 /选项卡,然后选择“添加应用程序”,并点击列表 中 servertime下面的绿色加号( +)按钮。 添加后你可以通过点击它运行该程序。 所以,像前面的章节中说明的那样,程序是由两个文件组成,。 在 JavaScript文件中的代码用来创建用户界面,并包含一个事件监听器在按钮被点击时做一些事情。 PHP文件包含的代码从服务器获取日期和时间。 在 JavaScript文件中的事件监听器使用 callMessage的 API来调用 PHP文件的 getTimeFromServer函数并获取返回值。 这样做使用 AJAX, 没有页面刷新。 在 JavaScript中使用 qooxdoo(简称“ QX”)的图形库。 Qooxdoo允许你开发一个 GUI,通过使用 JavaScript,而不是 XHTML和 CSS。 在 qooxdoo里,您通过窗口工作,按钮和其他元素被添加到窗口。 正如我们在前面的章节中看到的, qooxdoo是一个图形库 ,用 来创建用户界面,如同你使用 QT, GTK,或 Swing库。 Qooxdoo独立 于 eyeOS, 是一个自由软件项目,它的网站 是 eyeOS已经包括 Qooxdoo,因此开发人员不必下载或添加任何东西。 eyeOS上的所有应用程序都是用 QX图形库 开发的。 阅读教程或 qooxdoo API文档 是至关重要的 , 这 使你能理解 并使用 QX库进行开发。 Qooxdoo是完全面向对象,并允许您定义类,做继承,和 做 所有典型的面向对象的 事情。 API和其他文件可以在这里找到 使用 的 Qooxdoo类 虽然 eyeOS大多采用标准 Qooxdoo类,例如 用 ,也有一些 eyeOS扩展 qooxdoo类 的 特殊情况,创建我们自己的附加功能。 例如 是 扩展。 问题是,作为一个应用程序开发人员,你会 使用 MyWindow = new ()获取一个窗口 ,但需要插入某个地方,因为qooxdoo架构中 , 所有 要显示的 部件 (widgets)必须插入 上层部件中。 但是, 桌面上 的 窗口 的上级是什么部件。 事实上,这 确实 有点复杂。 为了 让 开发人员不必担心这一点,我们创建 ,实例化并调用 Open方法时,窗口 会 自动插入到桌面 上 显示,而 开发人员 无需知道谁是该窗口的 上级 部件。 目前 , 开发 者做正常的应用程序时,无需 担心比 创建 ,因为剩余的扩展类用于 eyeOS内部。 ( execmodules) 我们已经看到了,您可以在 PHP应用程序中添加静态公共方法,从 JavaScript由callMessage调用。 不过,所有的 应用都有很多方法,例如, PHP中应该有一个“关闭”函数用来关闭应用程序。 当你开发一个全新的应用程序时,每次都重新写这个函数将是一件痛苦的事,这就是为什么应用已经有一些这样的函数定义在 PHP父类 EyeosApplicationExecutable。 这些函数都可以使用 callMessage的 JavaScript调用,就像由开发人员定义的任何其他函数。 这意味着,应用程序现在已经有一些可以执行的 PHP函数,虽然开发者没有在 PHP应用程序中定义任何东西。 在 eyeOS的默认函数位于 eyeos/system/Frameworks/Applications/Executables/EyeosModuIes/ 例如,如果您打开eyeos/system/Frameworks/Applications/Executables/EyeosModules/ContactsExecModul,在里面你会发现一系列的功能,可在你的应用程序中通过 callMessage执行。 例如: public static function getAllContacts($params) 如果你想在你的程序中通过 JavaScript运 行它,你需要写如下代码 ... (checknum, 39。 __Contacts_getAllContacts39。 , params, function())。 callMessage只是像正常的,但通过 PHP函数的名称来运行,因为它在ContactsExecModule里,你必须在函数名前的加入包的名称。 包的名称必须有两个下划线在它的前面。eyeos2中文开发手册(编辑修改稿)
相关推荐
d for which an ine statement was presented. 5) The amount of interest that is necessary to be imputed in order to reduce the future lease payments to their present value. Also the amount that should
焊接头,对焊接头相互错开布置,同 截面焊头总数不超过主筋总数的一半。 钢筋笼在运输、起吊和安装过程中轻搬、轻运,保证骨架的整体性,防止变形。 起吊点设在加强筋部位,吊直扶稳,对准桩孔缓慢下沉,避免碰撞孔壁,吊装就位偏差不大于50 ㎜ . 钢筋骨架的保护层,通过在箍筋外侧上绑扎厚 5 ㎝的方形 C30 水泥砂浆垫块来保证,砂浆块按竖向每个 2 米设一道,每一道沿每边穿入 4 个布置。 钢筋笼制作
ities Statement of Net Assets Statement of Activities d) General revenues include all Including: ① All taxes levied by the reporting government ② Nonexchange revenues not restricted to a particular
110页 端口 广播风暴控制 ............................................................................................................................................................ 71 VRRP 配置 ................
】 一般由 总公司系统管理员 使用。 【 操作步骤 】 模块位置 国际业务 国 际快件跟踪 操作流程 查询 国际快件 操作者点击 国际业务 国 际快件跟踪 ,进入到 国际快件 查询页面,如图。 北京易普联科信息技术有限公司 图 在图 页面内,操作者可以按照“运单号、转单号”信息批量查询,点击 [查询 ],在查询结果列表中可以查询到相应的查询结果。 国际发件统计 【 定义 】 管理员
或相切点)逐点移动完成加工,从本质上看,其实就是在允许的误差值范围内沿每条路径用直线去逼近曲面的过程。 二、 宏程序 的变量和 数 学基础的应用 (一)宏程序基本变量 普通加工程序直接用指定 G 代码和移动距离;例如 G01和 序是,数值可以直接指定或变量指定。 当用变量时,变量值可以用程序或用 MDI 面板上的操作改变。 如 1=2+100 G01 X1 F300 变量的表示