Developer Application

Developers is an application to create, edit, submit other applications. Application developers can create a new application from several predefined template and submit applications to application directory.

Summary of Contents

  • Install modules
    • Module consists of one module definition file and several template files. See the sample module definition file.
    • Module can have replaceables (defined in module definition file) which the user can specify before creating their own class
    • Developers can create module used by other developers
  • Preinstalled modules
    • application module
    • MCML page control module
    • IDE module
    • window module: singleton, instanced, top level, etc.
    • test file module

Sample module definition file %CODE{"lua"}% --[[ Title: a sample module file Author(s): LiXizhi Date: 2008/3/5 Desc: use the lib:


NPL.load("(gl)script/kids/3DMapSystemApp/Developers/sample_module.lua");
-- file1.lua is assumed to be at the same directory as the sample_module. %MODULEFILE{"file1.lua", replace = { {from = "%SRC_DIR%", to="%INSTALL_DIR%"}, {from = "2008/3/5", to="2024-04-24"}, {from = "SampleApp", to="%INSTALL_NAME%"}, }, post_func="", dest = "%INSTALL_DIR%/%SRC_NAME%", }%

%MODULEFILE{"file2.lua", replace = { {from = "%SRC_DIR%", to="%INSTALL_DIR%"}, {from = "2008/3/5", to="2024-04-24"}, {from = "SampleApp", to="%INSTALL_NAME%"}, }, post_func="", dest = "%INSTALL_DIR%/%SRC_NAME%", }%

Description:

  • MODULEFILE: each module can contain one or several module files usually in its comment block, like this file.
  • first string: the file path of the source template file. It does not contain parent path, it is assumed to be located at the same directory of the this module file.
  • replace: an array of replaceables. Replaceable can contain predefined variables.
  • INSTALL_DIR: where the user specified to install the module. such as "script/myapp"
  • INSTALL_NAME: what name the user specified to install, such as "MyModule"
  • SRC_NAME: name of the source template file. in the above case, it is "file1.lua"
  • SRC_DIR: directory of the source template file. in the above case, it is the directory of this module file.
  • post_func: the function to be called to perform some manual refinement after replaceables are performed.
  • dest: the destination directory where the new instance of this file is installed.
]]

if(not sample_modules) then sample_modules = {} end

-- this is an sample post processing function that replaces one string with another in the template file. -- @param input: input file text string -- @return: result file text string. function sample_modules.file1_post_func(input) return string.gsub(input, "LiXizhi", "ParaEngine Corporation"); end %ENDCODE%

Screenshots & User Guide

UI sample : Press F5 and choose solution manager to see this alive in ParaIDE.net

make module Install module
Make_module.jpg Install_module.jpg

Detailed Documentation

李西峙(李西峙) 10:23:45 http://wiki/twiki/bin/view/Main/DeveloperApp 李西峙(李西峙) 10:25:48 你看看这个程序,教给你开发如何。 之前让你看过的内容,都可以用上了。 张磊(张磊) 10:27:04 开发啥呢~~~ ? 李西峙(李西峙) 10:28:41 开发程序的程序。 李西峙(李西峙) 10:31:20 有点像 新建各种程序的向导。 张磊(张磊) 10:31:33

在这里面添加模块? 张磊(张磊) 10:32:27 有点像 新建各种程序的向导。

还是用npl mcml实现是吧? 李西峙(李西峙) 10:33:03 这是原来用C#做的一个界面。 但是用起来不方便。我们用NPL MCML做一个许多页面的,向导模式的新建程序的程序 李西峙(李西峙) 10:34:00 我们可以先讨论下具体的UI和功能。 李西峙(李西峙) 10:34:42 这将是未来内外部的开发者都会使用的一个关键程序 李西峙(李西峙) 10:35:10 相当于Visual Studio 中的 File->new 张磊(张磊) 10:35:22 了解了~~~~ 就是功能,展现形式 是类似与 现在是用 npl mcml来实现~~? 李西峙(李西峙) 10:35:35 npl mcml来实现 张磊(张磊) 10:35:48 就是可视化操作了 是这样吧 李西峙(李西峙) 10:36:06 向导式的UI. 下一步 下一步 下一步 下一步 完成 李西峙(李西峙) 10:36:49 UI部分可以用MCML实现。 李西峙(李西峙) 10:36:57 相当于学习MCML了。 李西峙(李西峙) 10:37:19 逻辑部分和之前的Wiki DocGen 是一样的。 李西峙(李西峙) 10:37:30 也要许多regular expression.

-- LiXizhi - 21 Mar 2008

Installation Instructions

Note: You do not need to install anything on the client to use this contrib package.

  • Download the ZIP file from the app web (see below)
  • Restart application

Application Info

Author: TWiki:Main/LiXizhi
Copyright ©: 2008 ParaEngine Corporation, All Rights Reserved
License: GPL (GNU General Public License)
Dependencies: none, OfficialApps
Version: 1.0
Change History:  
21 Mar 2008: Initial version
Home: DeveloperApp
Feedback: DeveloperAppDev
Appraisal: DeveloperAppAppraisal

Related Topics: InsidePE

-- TWiki:Main/LiXizhi - 21 Mar 2008

Topic attachments
I Attachment History Action Size Date Who Comment
JPEGjpg Install_module.jpg r1 manage 61.3 K 2008-03-21 - 02:20 LiXizhi  
JPEGjpg Make_module.jpg r1 manage 71.9 K 2008-03-21 - 02:20 LiXizhi  
Topic revision: r1 - 2008-03-21 - LiXizhi
 
  • Edit
  • Attach
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2024 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback