Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 347d9f6

Browse files
committed
modified for new MenuManager
1 parent df2505b commit 347d9f6

File tree

2 files changed

+58
-38
lines changed

2 files changed

+58
-38
lines changed

ConfigDialog.js

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@ define(function (require, exports, module) {
2727
var Repository = staruml.getModule("engine/Repository"),
2828
Engine = staruml.getModule("engine/Engine"),
2929
Commands = staruml.getModule("menu/Commands"),
30-
MenuManager = staruml.getModule("menu/MenuManager"),
3130
Strings = staruml.getModule("strings"),
3231
Dialogs = staruml.getModule("widgets/Dialogs"),
3332
ElementPicker = staruml.getModule("dialogs/ElementPicker"),

main.js

Lines changed: 58 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -24,9 +24,11 @@
2424
define(function (require, exports, module) {
2525
"use strict";
2626

27-
var Repository = staruml.getModule("engine/Repository"),
27+
var AppInit = staruml.getModule("utils/AppInit"),
28+
Repository = staruml.getModule("engine/Repository"),
2829
Engine = staruml.getModule("engine/Engine"),
2930
Commands = staruml.getModule("menu/Commands"),
31+
CommandManager = staruml.getModule("menu/CommandManager"),
3032
MenuManager = staruml.getModule("menu/MenuManager"),
3133
Dialogs = staruml.getModule("widgets/Dialogs"),
3234
ElementPicker = staruml.getModule("dialogs/ElementPicker"),
@@ -43,11 +45,12 @@ define(function (require, exports, module) {
4345
/**
4446
* Menu IDs
4547
*/
46-
var TOOLS_JAVA = 'tools.java',
47-
TOOLS_JAVA_CONFIG = 'tools.java.config',
48-
TOOLS_JAVA_GENERATE = 'tools.java.generate',
49-
TOOLS_JAVA_REVERSE = 'tools.java.reverse';
48+
var CMD_JAVA = 'java',
49+
CMD_JAVA_CONFIG = 'java.config',
50+
CMD_JAVA_GENERATE = 'java.generate',
51+
CMD_JAVA_REVERSE = 'java.reverse';
5052

53+
// TODO: Return $.Promise
5154
function checkConfig(callback) {
5255
var baseModel = JavaCodeGenerator.getBaseModel(),
5356
targetDir = JavaCodeGenerator.getTargetDirectory();
@@ -127,44 +130,62 @@ define(function (require, exports, module) {
127130
}
128131
}
129132
}
130-
});
133+
});
134+
}
135+
136+
function _handleConfig() {
137+
ConfigDialog.showDialog();
131138
}
132139

133140
/**
134-
* Initialize extension
141+
* CommandManager.execute로부터 파라미터를 받아서 코드 생성 가능하게 한다.
142+
* 파라미터가 없으면 baseModel, targetDir을 사용한다.
135143
*/
136-
function init() {
137-
// MenuManager.addMenuItemSeparator(Commands.TOOLS);
138-
MenuManager.addMenuItem(TOOLS_JAVA, Commands.TOOLS, "Java", "", "", null, null);
139-
MenuManager.addMenuItem(TOOLS_JAVA_CONFIG, TOOLS_JAVA, "Configuration...", "", "", null, null);
140-
MenuManager.addMenuItem(TOOLS_JAVA_GENERATE, TOOLS_JAVA, "Generate Code...", "", "", null, null);
141-
MenuManager.addMenuItem(TOOLS_JAVA_REVERSE, TOOLS_JAVA, "Analyze Code...", "", "", null, null);
142-
$(MenuManager).on('menuItemClicked', function (event, id) {
143-
switch (id) {
144-
case TOOLS_JAVA_CONFIG:
145-
ConfigDialog.showDialog();
146-
break;
147-
case TOOLS_JAVA_GENERATE:
148-
checkConfig(function (configured, baseModel, targetDir) {
149-
if (configured) {
150-
generate(baseModel, targetDir);
151-
} else {
152-
Dialogs.showAlertDialog("Java Code Generation is not configured.");
153-
}
154-
});
155-
break;
156-
case TOOLS_JAVA_REVERSE:
157-
FileSystem.showOpenDialog(false, true, "Select Folder", null, null, function (err, files) {
158-
if (files && files.length === 1) {
159-
var dir = FileSystem.getDirectoryForPath(files[0]);
160-
JavaReverseEngineer.analyze(dir);
161-
}
162-
});
163-
break;
144+
function _handleGenerate() {
145+
checkConfig(function (configured, baseModel, targetDir) {
146+
if (configured) {
147+
generate(baseModel, targetDir);
148+
} else {
149+
Dialogs.showAlertDialog("Java Code Generation is not configured.");
164150
}
165151
});
166-
};
152+
}
153+
154+
/**
155+
* CommandManager.execute로부터 파라미터를 받아서 코드 역공학이 가능하게 한다.
156+
* e.g.) options = {
157+
* path: "/User/niklaus/...",
158+
* files: [ "....java", ".java" ],
159+
* typeHiarachy: true
160+
* packageOverview: true
161+
* packageStructure: true
162+
* }
163+
* 파라미터가 없으면 baseModel, targetDir을 사용한다.
164+
* Must return $.Promise
165+
*/
166+
function _handleReverse(options) {
167+
FileSystem.showOpenDialog(false, true, "Select Folder", null, null, function (err, files) {
168+
if (!err) {
169+
if (files && files.length === 1) {
170+
var dir = FileSystem.getDirectoryForPath(files[0]);
171+
JavaReverseEngineer.analyze(dir);
172+
}
173+
}
174+
});
175+
}
176+
177+
// Register Commands
178+
CommandManager.register("Java", CMD_JAVA, CommandManager.doNothing);
179+
CommandManager.register("Configure...", CMD_JAVA_CONFIG, _handleConfig);
180+
CommandManager.register("Generate...", CMD_JAVA_GENERATE, _handleGenerate);
181+
CommandManager.register("Reverse...", CMD_JAVA_REVERSE, _handleReverse);
182+
183+
var menu, menuItem;
184+
menu = MenuManager.getMenu(Commands.TOOLS);
185+
menuItem = menu.addMenuItem(CMD_JAVA);
186+
menuItem.addMenuItem(CMD_JAVA_CONFIG);
187+
menuItem.addMenuItem(CMD_JAVA_GENERATE);
188+
menuItem.addMenuItem(CMD_JAVA_REVERSE);
167189

168-
init();
169190

170191
});

0 commit comments

Comments
 (0)