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

如何使用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创建和修改元素的方法,欢迎继续关注macdown小编分享的其他软件技巧。

如何使用StarUML for Mac创建和修改元素的更多相关文章

  1. Oracle触发器原理、创建、修改、删除

    本篇主要内容如下: 8.1 触发器类型 8.1.1 DML触发器 8.1.2 替代触发器 8.1.3 系统触发器 8.2 创建触发器 8.2.1 触发器触发次序 8.2.2 创建DML触发器 8.2. ...

  2. <<< Oracle序列的创建、修改、删除基本操作

    序列是一个命名的顺序编号生成器,可以被多个用户共享,类似sqlserver中的identity create sequence 序列名; //直接创建一个序列 CREATE SEQUENCE 序列名; ...

  3. ABAP 生产订单的创建与修改函数

    ABAP 生产订单的创建与修改函数转自http://www.cnblogs.com/aBaoRong/archive/2012/04/11/2441946.html   如果生产订单过多,可以批量创建 ...

  4. 用 C# 轻松读取、改变文件的创建、修改、访问时间

    创建时间是文件存入到电脑中的时间,而修改时间则是改变起内容的最后时间 // 读取文件的创建.修改.访问时间FileInfo fi = new FileInfo("C://test.txt&q ...

  5. oracle 11g 如何创建、修改、删除list-list组合分区

    Oracle11g在分区方面做了很大的提高,不但新增了4种复合分区类型,还增加了虚拟列分区.系统分区.INTERVAL分区等功能. 9i开始,Oracle就包括了2种复合分区,RANGE-HASH和R ...

  6. (转) mysql的连接,创建账号,修改密码

    原文:http://blog.chinaunix.net/uid-20749043-id-1878306.html  mysql的连接,创建账号,修改密码 2008-10-13 15:31:29 分类 ...

  7. MySQL:创建、修改和删除表

    其实对很多人来说对于SQL语句已经忘了很多,或者说是不懂很多,因为有数据库图形操作软件,方便了大家,但是我们不能忘记最根本的东西,特别是一些细节上的东西,可能你用惯了Hibernate,不用写SQL语 ...

  8. SQLite 入门教程(二)创建、修改、删除表 (转)

    转于 SQLite 入门教程(二)创建.修改.删除表 一.数据库定义语言 DDL 在关系型数据库中,数据库中的表 Table.视图 View.索引 Index.关系 Relationship 和触发器 ...

  9. Dom4J对XML的创建、修改、删除等操作

    Dom4j也可以很方便完成XML文档的创建.元素的修改.文档的查询遍历等,但dom4j稍比jdom复杂一点,不过在大片文档的情况下dom4j的性能要不jdom好. # 准备 首先,提供相关的jar包 ...

随机推荐

  1. springmvc后台获取表单提交的数据——@ModelAttribute等方式

    1.通过注解ModelAttribute直接映射表单中的参数到POJO.在from中的action写提交的路径,在input的name写参数的名称. package com.demo.model; p ...

  2. substring和substr的区别

    substring和subsrt都是获取指定位数 字符串的方法: 语法: substring(start,end)/substring(one); substr(start,end)/substr(o ...

  3. Java-FtpUtil工具类

    package cn.ipanel.app.newspapers.util; import java.io.BufferedReader; import java.io.DataInputStream ...

  4. Windows系统下载地址

    地址: https://msdn.itellyou.cn/ 里面给出的是迅雷下载链接,请提前安装好迅雷

  5. CSS的水平居中和垂直居中

    水平居中如果不太熟悉盒子模型的话属实不太好理解,其实就是控制其他属性来让border之内的内容被控制在父容器中间就行了,最经典的就是使用{margin: 0  auto}了,控制其上下外边框为0,左右 ...

  6. luogu p4141 消失之物(背包dp+容斥原理)

    题目传送门 昨天晚上学长讲了这题,说是什么线段树分治,然后觉得不可做,但那还不是正解,然后感觉好像好难的样子. 由于什么鬼畜的分治不会好打,然后想了一下$O(nm)$的做法,想了好长时间觉得这题好像很 ...

  7. 修改 Idea 终端 Terminal 为 GitBash

    Terminal "C:\Program Files\Git\bin\sh.exe" -login -i

  8. css基础(css书写 背景设置 标签分类 css特性)

      css书写位置   行内式写法 <p style="color:red;" font-size:12px;></p> 外联式写法 <link re ...

  9. Linux-expect脚本-编写一个expect脚本

    1.声明expect #!/usr/bin/expect -f 2.设置超时时间,获取参数 set ip [lindex $argv 0 ] //接收第一个参数,并设置IP set password ...

  10. ettercap局域网DNS切换到恶意网址

    ettercap -i eth0 -Tq -M arp:remote -P dns_spoof /// /// Dns欺骗--Ettercap工具进行Dns欺骗 转载至 https://blog.cs ...