如何使用StarUML for Mac创建和修改元素

StarUML for Mac是一款UML软件建模器,支持快速编辑中的许多缩写,一次创建元素和关系,如子类,支持接口等。如何使用StarUML for Mac创建和修改元素?下面我们来介绍一下。

10103208_caace42efd.jpeg

如何使用StarUML for Mac创建和修改元素

在本章中,我们将学习如何创建和修改元素。最重要的是,您不应直接创建或修改元素,因为所有更改都应通过undo和redo支持的操作完成。var class1 = new UMLClass()class1.name = "New Name"
创建元素
创建模型元素
您可以调用函数来创建带有选项对象的模型元素。createModelapp.factory
选项对象可能包含以下字段:
id:用于创建元素的工厂函数的ID。要查看完整的ID列表,请执行。app.factory.getModelIds()
parent :要包含的已创建元素的父元素。
field(可选):父元素的字段名称(默认为)。ownedElements
modelInitializer (可选):初始化创建的模型元素的函数。

//获取对顶级项目的引用
var project = app 。存储库。选择(“@ Project” )[ 0 ]

//创建一个UMLModel元素作为项目的子项
var model1 = app 。工厂。createModel ({ id :“UMLModel” ,parent :project } )

//创建UMLClass元素作为模型的子元素
var class1 = app 。工厂。createModel ({ id :“UMLClass” ,parent :model1 } )

//创建一个UMLAttribute元素并添加到该类的字段'attributes'
var attr1 = app 。工厂。createModel ({ id :“UMLAttribute” ,parent :class1 ,field :“attributes” } )

//使用选项创建UMLClass
var options = {
id :“UMLClass” ,
parent :model1 ,
modelInitializer :function (elem ){
ELEM 。name = “MyClass” ;
ELEM 。isAbstract = true ;
}
}
var class2 = app 。工厂。createModel (options );

您可以在模型资源管理器中看到创建的元素,并且每次创建都可以使用撤消和重做。
创建图表
调用函数来创建带有选项对象的图表:createDiagramapp.factory
选项对象可能包含以下字段:
id:用于创建图表的Factory函数的ID。要查看完整的ID列表,请执行。app.factory.getDiagramIds()
parent :包含要包含的已创建图表的父元素。
options (可选):包含以下选项的对象。
diagramInitializer (可选):初始化创建的图表的函数。

//获取对顶级项目的引用
var project = app 。存储库。选择(“@ Project” )[ 0 ]

//创建一个UMLModel元素作为项目的子项
var model1 = app 。工厂。createModel ({ id :“UMLModel” ,parent :project } )

//创建UMLClassDiagram作为模型的子项
var diagram1 = app 。工厂。createDiagram ({ id :“UMLClassDiagram” ,parent :model1 } )

//使用选项创建UMLClassDiagram
var options = {
id :“UMLClassDiagram” ,
parent :model1 ,
diagramInitializer :function (dgm ){
dgm 。name = “MyDiagram” ;
dgm 。defaultDiagram = true ;
}
}
var diagram2 = app 。工厂。createDiagram (选项)

一次创建模型元素和视图元素
调用函数以使用选项对象一次创建模型元素和视图元素。createModelAndViewapp.factory
选项对象可能包含以下字段:
id:工厂功能的ID。要查看完整的ID列表,请执行。Factory.getModelAndViewIds()
parent :要包含的已创建模型元素的父元素。
diagram :要包含的已创建视图元素的图元素。
modelInitializer (可选):初始化创建的模型元素的函数。
viewInitializer (可选):初始化创建的视图元素的函数。
x1,,,(可选):矩形坐标初始化创建的视图元件的位置和大小。y1x2y2
tailView,(可选):如果您尝试创建关系(例如),则创建的视图元素将连接这两个视图元素和。headViewUMLAssociationtailViewheadView
tailModel和(可选):如果您尝试创建关系,则创建的模型元素将连接这两个模型元素和。headModeltailModelheadModel
containerView (可选):要包含的已创建视图元素的视图元素。
该函数返回创建的视图元素,因此您需要通过访问字段来获取create model元素。(例如)。下面的代码将创建两个类和一个连接这两个类的关联。createModelAndViewmodelclassView1.model

//创建UMLClass和UMLClassView
var options1 = {
id :“UMLClass” ,
parent :diagram1 。_parent ,
图:图1 ,
x1 :100 ,
y1 :100 ,
x2 :200 ,
是2 :200
}
var classView1 = app 。工厂。createModelAndView (options1 )

//创建另一个UMLClass和UMLClassView
var options2 = {
id :“UMLClass” ,
parent :diagram1 。_parent ,
图:图1 ,
x1 :400 ,
y1 :100 ,
x2 :500 ,
是2 :200
}
var classView2 = app 。工厂。createModelAndView (options2 )

//创建连接两个类的关联
var options3 = {
id :“UMLAssociation” ,
parent :diagram1 。_parent ,
图:图1 ,
tailView :classView1 ,
headView :classView2 ,
tailModel :classView1 。模型,
headModel :classView2 。模型
}
var assoView = app 。工厂。createModelAndView (options3 )

创建现有模型元素的视图元素
调用函数以使用选项对象创建现有模型元素的视图元素。createViewOfapp.factory
选项对象可能包含以下字段:
model :由创建的视图元素引用的模型元素。
diagram :要包含的已创建视图元素的图元素。
viewInitializer (可选):初始化创建的视图元素的函数。
x,(可选):创建的视图元素的位置。y
containerView (可选):要包含的已创建视图元素的视图元素。

var options = {
model :classView1 。模型,
图:图1 ,
x :500 ,
y :500 ,
}
app 。工厂。createViewOf (选项)

向元素添加标签
如果要扩展带有附加标记的元素,可以通过调用带参数的函数来创建标记。Tag有五种:String,Number,Boolean,Reference和Hidden。隐藏标签未在图表中显示,但其他标签显示为属性。(选中格式>显示属性菜单)。以下代码将为所选元素创建一个字符串标记。createModelTagapp.factory

//获取所选元素
var selected = app 。选择。getSelected ()

//创建标记的选项
var options = {
id :“标签” ,
父母:选中,
字段:“标签” ,
modelInitializer :function (tag ){
标签。name = “Tag1” ;
标签。kind = 类型。标记。TK_STRING ; //或TK_BOOLEAN,TK_NUMBER,TK_REFERENCE,TK_HIDDEN
标签。value = “字符串值...” ;
// tag.checked = true; //对于TK_BOOLEAN
// tag.number = 100; //对于TK_NUMBER
// tag.reference = ...; //对于TK_REFERENCE
}
}

//为所选元素创建标记
var tag1 = app 。工厂。createModel (选项)

修改元素
更改属性值
您不应该直接修改元素的属性,因为所有更改都应该通过undo和redo支持的操作来完成。class1.name = "New Name"
要更改属性值,请使用以下函数:app.engine.setProperty()

//获取所选元素
var selected = app 。选择。getSelected ()
//更改属性值
app 。发动机。setProperty (已选中,'name' ,'New Name' )

例子
序列图
以下是创建包含两个Lifelines和Message的序列图的示例。

var project = app 。存储库。选择(“@ Project” )[ 0 ]

var model1 = app 。工厂。createModel ({ id :“UMLModel” ,parent :project } )

//创建一个序列图
var options = {
id :“UMLSequenceDiagram” ,
parent :model1 ,
diagramInitializer :function (dgm ){
dgm 。name = “MyDiagram” ;
}
}
var diagram1 = app 。工厂。createDiagram (选项)

//创建生命线
var options1 = {
id :“UMLLifeline” ,
parent :diagram1 。_parent ,
图:图1 ,
x1 :50 ,
Y1 :20 ,
x2 :50 ,
Y2 :20
}
var lifelineView1 = app 。工厂。createModelAndView (options1 )

//创建另一条生命线
var options2 = {
id :“UMLLifeline” ,
parent :diagram1 。_parent ,
图:图1 ,
x1 :150 ,
Y1 :20 ,
x2 :150 ,
Y2 :20
}
var lifelineView2 = app 。工厂。createModelAndView (options2 )

//创建连接上述两条生命线的消息
var options3 = {
id :“UMLMessage” ,
parent :diagram1 。_parent ,
图:图1 ,
x1 :50 ,
y1 :100 ,
x2 :150 ,
y2 :100 ,
tailView :lifelineView1 ,
headView :lifelineView2 ,
tailModel :lifelineView1 。模型,
headModel :lifelineView2 。模型
}
var messageView1 = app 。工厂。createModelAndView (options3 )

以上就是如何使用StarUML for Mac创建和修改元素的方法。

猜你喜欢

转载自blog.51cto.com/14208028/2392472