Plugin.xml
구현된 Plugin Class Library를 실행하기 위해
Plugin.xml 파일 정의 및 설정이 필요합니다.
파일 형식
- Plugin.xml 기본 구조는 아래와 같습니다.
<?xml version="1.0" encoding="utf-8" ?>
<VIZZARDManager>
</VIZZARDManager>
⚠️ 주의
- Plugin.xml 파일은 UTF-8 형식으로 저장되어야 합니다.
- Plugin.xml 파일은 실행하고자 하는 VIZZARD.exe 하위
Addins폴더에 저장되어야 합니다.
Plugin 유형별 기본 구조
<?xml version="1.0" encoding="utf-8" ?>
<VIZZARDManager>
<Plugins>
...
</Plugins>
<SHControls>
...
</SHControls>
<KIOSK>
...
</KIOSK>
</VIZZARDManager>
Plugin 정의
TAG 설명
| TAG | 설명 | Attribute |
|---|---|---|
| Plugins | Plugin 항목의 그룹 TAG이며, VIZZARD 메뉴에 Plugin 메뉴 그룹 이름 설정 | GroupTitle / Visible |
| Plugin | 개별 Plugin 항목 정의 | ID / Enable / ControlName / AssemblyPath |
| Menu | Plugin 메뉴 속성 정의 | Title / RelationShowControl / MenuButtonImageSize / ImagePath |
| DockingWindow | Plugin 컨테이너 속성 정의 | Title / Position / Width |
Plugins Attribute
| Attribute | 설명 | 예시 |
|---|---|---|
| GroupTitle | Plugin 그룹 메뉴 이름 | GroupTitle="My Plugins" |
| Visible | Plugin 메뉴 표시 여부 | Visible="True" / Visible="False" |
Plugin Attribute
| Attribute | 설명 | 예시 |
|---|---|---|
| ID | Plugin 컨트롤 ID | ID="1" |
| Enable | Plugin 활성화 여부 | Enable="True" / Enable="False" |
| ControlName | 네임스페이스 + "." + 클래스 | MyPlugin.MyControl |
| AssemblyPath | Plugin DLL 빌드 경로 | C:\VIZZARD\MyPlugin.dll |
Menu Attribute
| Attribute | 설명 | 예시 |
|---|---|---|
| Title | 메뉴에 표시되는 Plugin 이름 | Title="MyPlugin 기능" |
| RelationShowControl | 함께 활성화할 Plugin ID | RelationShowControl="1,2,3" |
| ImagePath | 메뉴 이미지 경로 | ImagePath="C:\VIZZARD\Menu.png" |
| MenuButtonImageSize | 이미지 크기 (Small:0 / Large:1) | MenuButtonImageSize="1" |
DockingWindow Attribute
| Attribute | 설명 | 예시 |
|---|---|---|
| Title | 컨테이너 창 이름 | Title="My Plugin Control" |
| Position | 초기 표시 위치 (TOP:0 / LEFT:1 / RIGHT:2 / BOTTOM:3 / FLOATING:4) | Position="2" |
| Width | 초기 가로 길이 | Width="400" |
Plugin.xml 예제
<?xml version="1.0" encoding="utf-8" ?>
<VIZZARDManager>
<Plugins GroupTitle="My Plugins" Visible="True">
<Plugin ID="1" Enable="True"
ControlName="MyPlugin.MyControl"
AssemblyPath="C:\VIZZARD\MyPlugin.dll">
<Menu Title="MyPlugin 기능"
RelationShowControl=""
ImagePath="C:\VIZZARD\Menu.png"
MenuButtonImageSize="1" />
<DockingWindow Title="My Plugin Control"
Position="2"
Width="400" />
</Plugin>
</Plugins>
</VIZZARDManager>
ℹ️ 참고
여러 개의 Plugin을 정의하는 경우<Plugin>...</Plugin>을 반복 정의합니다.
SHControl 정의
TAG 설명
| TAG | 설명 | Attribute |
|---|---|---|
| SHControls | SHControl 그룹 TAG | 없음 |
| SHControl | SHControl 항목 정의 | Class / AssemblyPath |
SHControl Attribute
| Attribute | 설명 | 예시 |
|---|---|---|
| Class | 네임스페이스 + "." + 클래스 | MySHControl.MyClass |
| AssemblyPath | SHControl DLL 경로 | C:\VIZZARD\MySHControl.dll |
SHControl 예제
<?xml version="1.0" encoding="utf-8" ?>
<VIZZARDManager>
<SHControls>
<SHControl Class="MySHControl.MyClass"
AssemblyPath="C:\VIZZARD\MySHControl.dll" />
</SHControls>
</VIZZARDManager>
KIOSK 정의
TAG 설명
| TAG | 설명 | Attribute |
|---|---|---|
| KIOSK | KIOSK 그룹 TAG | 없음 |
| Control | KIOSK Control 정의 | Class / AssemblyPath |
| Tile | 메뉴 타일 버튼 속성 | 다수 |
Tile Attribute
| Attribute | 설명 |
|---|---|
| Text | TILE 메뉴 텍스트 |
| ItemSize | Default / Small / Medium / Wide / Large |
| ImagePath | 이미지 경로 |
| ImageAlignment | 이미지 정렬 |
| ImageToTextAlignment | 이미지-텍스트 정렬 |
| TextAlignment | 텍스트 정렬 |
| TextColor | 텍스트 색상 |
| BackColor | 배경 색상 |
| BackColor2 | 배경2 색상 |
| BorderColor | 테두리 색상 |
KIOSK 예제
<?xml version="1.0" encoding="utf-8" ?>
<VIZZARDManager>
<KIOSK>
<Control Class="MyKIOSK.KIOSKControl"
AssemblyPath="C:\VIZZARD\MyKIOSK.dll">
<Tile Text="KIOSK 컨트롤"
ItemSize="Wide"
ImagePath="C:\VIZZARD\MyKIOSK.png"
ImageAlignment="MiddleCenter"
ImageToTextAlignment="Left"
TextAlignment="MiddleCenter"
TextColor="#AA2D2D2D"
BackColor="#FFF376B4"
BackColor2="#FFF376B4"
BorderColor="#FFFFFFFF"/>
</Control>
</KIOSK>
</VIZZARDManager>
ℹ️ 참고
여러 개의 KIOSK Plugin을 정의하는 경우
<Control>...</Control>을 반복 정의합니다.