SymbolLibrary类参考

符号库基类。 更多...

SymbolFillLibrarySymbolLineLibrarySymbolMarkerLibrary继承.

所有成员的列表。

公有成员

(SymbolGroup *) - findGroupWithID:
 根据指定符号的 ID 号,查找该符号所属的分组。
(BOOL) - containID:
 测试当前符号库是否包含指定的 ID 号。
(Symbol *) - findSymbolWithID:
 在该符号库中查找指定 ID 号的符号对象。
(Symbol *) - findSymbolWithName:
 根据指定的名称,在该符号库中查找该名称所对应的符号对象,返回第一个与指定名称相同的符号对象。
(BOOL) - fromFile:
 根据指定的路径,从文件加载符号库。
(BOOL) - removeWithID:
 删除符号库中指定的 ID 号的符号。
(int) - add:toGroup:
 向符号库中添加符号,并放在指定分组下。
(int) - add:
 向符号库中添加符号,放在根分组下。
(BOOL) - moveSymbolByID:toGroup:
 将符号库中指定ID的符号,移动到指定分组下。
(NSString *) - getLibPath
 符号库路径。
(BOOL) - saveAs:
 符号另存为
(BOOL) - appendFromFile:isReplace:
 从文件中追加符号到符号库,是否替换重复ID的符号,true为替换,false为重命名重复符号
(void) - clear
(void) - dispose

属性

SymbolGrouprootGroup
 获取符号库的根组对象。
BOOL isDispose
 获取或设置当前符号库是否被销毁

详细描述

符号库基类。

点状符号库类、线型符号库类和填充符号库类都继承自该抽象类。用来管理符号对象,包括符号对象的添加、删除。


成员函数文档

- (int) add: (Symbol *)  symbol  

向符号库中添加符号,放在根分组下。

参数:
symbol 符号对象
返回:
如果添加成功,返回 该符号在库中的 ID 值;否则返回 -1。
- (int) add: (Symbol *)  symbol
toGroup: (SymbolGroup *)  desGroup 

向符号库中添加符号,并放在指定分组下。

参数:
symbol 符号对象
desGroup 符号分组
返回:
如果添加成功,返回 该符号在库中的 ID 值;否则返回 -1。
- (BOOL) appendFromFile: (NSString *)  fileName
isReplace: (BOOL)  bReplace 

从文件中追加符号到符号库,是否替换重复ID的符号,true为替换,false为重命名重复符号

参数:
fileName 文件完整路径
bReplace 是否替换重复ID的符号,true为替换,false为重命名重复符号
返回:
成功返回true,否则返回false
- (void) clear  
- (BOOL) containID: (int)  nId  

测试当前符号库是否包含指定的 ID 号。

参数:
ID 需要进行测试的 ID 值。
返回:
如果包含指定的 ID 号,返回 true;否则返回 false。
- (void) dispose  
- (SymbolGroup *) findGroupWithID: (int)  nId  

根据指定符号的 ID 号,查找该符号所属的分组。

参数:
ID 指定符号的 ID 号。
返回:
符号库分组对象。
- (Symbol *) findSymbolWithID: (int)  nId  

在该符号库中查找指定 ID 号的符号对象。

参数:
ID 指定的 ID 值。
返回:
符号对象。
- (Symbol *) findSymbolWithName: (NSString *)  name  

根据指定的名称,在该符号库中查找该名称所对应的符号对象,返回第一个与指定名称相同的符号对象。

参数:
name 指定的名称。
返回:
符号对象。
- (BOOL) fromFile: (NSString *)  strFileName  

根据指定的路径,从文件加载符号库。

参数:
strFileName 指定的路径。
返回:
加载是否成功。
- (NSString*) getLibPath  

符号库路径。

返回:
符号库路径。
- (BOOL) moveSymbolByID: (int)  nId
toGroup: (SymbolGroup *)  desGroup 

将符号库中指定ID的符号,移动到指定分组下。

参数:
nId 需要移动符号的 ID 值。
desGroup 符号分组
返回:
如果移动成功,返回 YES;否则返回 NO。
- (BOOL) removeWithID: (int)  nId  

删除符号库中指定的 ID 号的符号。

参数:
ID 需要删除符号的 ID 值。
返回:
如果删除成功,返回 true;否则返回 false。
- (BOOL) saveAs: (NSString *)  fileName  

符号另存为

参数:
fileName 另存名称

属性文档

- (BOOL) isDispose [read, write, assign]

获取或设置当前符号库是否被销毁

- (SymbolGroup*) rootGroup [read, retain]

获取符号库的根组对象。

符号库的组织结构类似于Windows资源管理器的组织结构,磁盘的根目录下可以存在零个或多个文件夹以及零个或多个文件,每个文件夹中又可以有零个或多个子文件夹以及零个或多个文件,以此类推层层嵌套;符号库的根组就相当于这个磁盘的根目录,文件夹可以看做符号库的子分组,文件就好比各种符号,一个符号库只能存在一个根组,根组中可以有零个或多个子分组以及零个或多个符号,每个子分组下还可以有零个或多个子分组以及零个或多个符号,以此类推。

根组也是分组,对应 <SymbolGroup> 类对象,根组是符号库的最高分组层次,根组中可以包含零个或多个子分组以及零个或多个符号,子分组也是分组,同样对应 <SymbolGroup> 类对象,其中所有子分组又构成一个子分组集合,对应 <SymbolGroups> 类对象,根组中至多有一个分组集合,即 <SymbolGroups> 类对象, <SymbolGroups> 类对象是 <SymbolGroup> 类对象的集合,用来管理根组中的各子分组,通过 <SymbolGroups> 类对象来完成根组中子分组的创建与移除。当子分组(例如下图绿色框所示)中还包含有零个或多个子分组以及零个或多个符号,那么这些子分组和符号又构成了的一个分组(下图蓝色虚线框所示), 而这个绿色框标识的子分组称为蓝色虚线框所示的这个分组的父分组,并且,蓝色虚线框中的所有子分组构成了一个子分组集合,对应一个 { <SymbolGroups> 类对象,同样该蓝色虚线框所示的分组中也至多有一个子分组集合,通过这个子分组集合对象来完成该蓝色虚线框所示的分组中的子分组的创建与移除。以此类推,下图中的黄色框所示的子分组对应一 <SymbolGroup> 类对象,粉色虚线框内的子分组又构成一个分组对象(此分组对象中包含零个符号和三个子分组),即对应一个 <SymbolGroup> 类对象,因此,黄色框所示的分组是粉色虚线框所示分组的父分组,同样粉色虚线框所示分组中也包含了一个子分组集合。总之,符号库呈现一种树形组织结构。

注:所谓的分组和子分组是符号库的逻辑组织形式,都是使用户可以将类别相同的符号放在一个组中,从而方便管理和使用。

综上所述,一个符号库 <SymbolLibrary> 包含有唯一的一个根组<SymbolGroup> 类对象,每个 <SymbolGroup> 类对象至多包含有一个 <SymbolGroups> 类对象,但却可以包含有零个或多个 <Symbol> 类对象,其中 <SymbolGroups> 类对象是 <SymbolGroup> 类对象的集合,以此实现符号库的树形管理结构。

返回:
符号库的根组对象。

该类的文档由以下文件生成: