ui-layout-winforms-controls.xsd 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
  3. targetNamespace="ui-layout-winforms-controls"
  4. xmlns:tns="ui-layout-winforms-controls"
  5. xmlns:basic="ui-layout-basic-controls"
  6. elementFormDefault="qualified"
  7. version="1.3">
  8. <!-- Import basic controls -->
  9. <xs:import namespace="ui-layout-basic-controls" schemaLocation="ui-layout-basic-controls.xsd"/>
  10. <!-- WinForms Control Instance Type -->
  11. <xs:complexType name="WinFormsControlInstanceType" mixed="true">
  12. <xs:group ref="tns:WinFormsControlContentGroup" minOccurs="0" maxOccurs="unbounded"/>
  13. <!-- ENHANCEMENT: v1.3 WinForms-specific attributes -->
  14. <xs:attribute name="schema-version" type="xs:string" default="1.3"/>
  15. <xs:attribute name="net-framework-version" type="xs:string" default="4.8"/>
  16. <xs:attribute name="net-version" type="xs:string" default="6.0"/>
  17. <xs:attribute name="visual-styles" type="xs:boolean" default="true"/>
  18. <xs:attribute name="dpi-awareness" type="tns:DpiAwarenessEnum" default="system"/>
  19. <xs:attribute name="theme-support" type="xs:boolean" default="false"/>
  20. <xs:anyAttribute processContents="lax"/>
  21. </xs:complexType>
  22. <!-- ENHANCEMENT: DPI Awareness Enumeration -->
  23. <xs:simpleType name="DpiAwarenessEnum">
  24. <xs:restriction base="xs:string">
  25. <xs:enumeration value="unaware"/>
  26. <xs:enumeration value="system"/>
  27. <xs:enumeration value="per-monitor"/>
  28. <xs:enumeration value="per-monitor-v2"/>
  29. </xs:restriction>
  30. </xs:simpleType>
  31. <!-- WinForms Control Content Group -->
  32. <xs:group name="WinFormsControlContentGroup">
  33. <xs:choice>
  34. <!-- Include all basic controls -->
  35. <xs:group ref="basic:BasicControlContentGroup"/>
  36. <!-- WinForms-Specific Controls -->
  37. <xs:element name="RichTextBox" type="tns:WinFormsControlInstanceType"/>
  38. <xs:element name="MaskedTextBox" type="tns:WinFormsControlInstanceType"/>
  39. <xs:element name="CheckedListBox" type="tns:WinFormsControlInstanceType"/>
  40. <xs:element name="GroupBox" type="tns:WinFormsControlInstanceType"/>
  41. <xs:element name="SplitContainer" type="tns:WinFormsControlInstanceType"/>
  42. <xs:element name="TableLayoutPanel" type="tns:WinFormsControlInstanceType"/>
  43. <xs:element name="FlowLayoutPanel" type="tns:WinFormsControlInstanceType"/>
  44. <xs:element name="DataGridView" type="tns:WinFormsControlInstanceType"/>
  45. <xs:element name="ProgressBar" type="tns:WinFormsControlInstanceType"/>
  46. <xs:element name="StatusStrip" type="tns:WinFormsControlInstanceType"/>
  47. <xs:element name="MenuStrip" type="tns:WinFormsControlInstanceType"/>
  48. <xs:element name="ToolStrip" type="tns:WinFormsControlInstanceType"/>
  49. <xs:element name="ContextMenuStrip" type="tns:WinFormsControlInstanceType"/>
  50. <xs:element name="NumericUpDown" type="tns:WinFormsControlInstanceType"/>
  51. <xs:element name="DateTimePicker" type="tns:WinFormsControlInstanceType"/>
  52. <xs:element name="MonthCalendar" type="tns:WinFormsControlInstanceType"/>
  53. <xs:element name="TrackBar" type="tns:WinFormsControlInstanceType"/>
  54. <xs:element name="HScrollBar" type="tns:WinFormsControlInstanceType"/>
  55. <xs:element name="VScrollBar" type="tns:WinFormsControlInstanceType"/>
  56. <xs:element name="PictureBox" type="tns:WinFormsControlInstanceType"/>
  57. <xs:element name="Timer" type="tns:WinFormsControlInstanceType"/>
  58. <xs:element name="OpenFileDialog" type="tns:WinFormsControlInstanceType"/>
  59. <xs:element name="SaveFileDialog" type="tns:WinFormsControlInstanceType"/>
  60. <xs:element name="FolderBrowserDialog" type="tns:WinFormsControlInstanceType"/>
  61. <xs:element name="ColorDialog" type="tns:WinFormsControlInstanceType"/>
  62. <xs:element name="FontDialog" type="tns:WinFormsControlInstanceType"/>
  63. <xs:element name="PrintDialog" type="tns:WinFormsControlInstanceType"/>
  64. <xs:element name="PrintPreviewDialog" type="tns:WinFormsControlInstanceType"/>
  65. <xs:element name="WebBrowser" type="tns:WinFormsControlInstanceType"/>
  66. <xs:element name="NotifyIcon" type="tns:WinFormsControlInstanceType"/>
  67. <xs:element name="ErrorProvider" type="tns:WinFormsControlInstanceType"/>
  68. <xs:element name="ToolTip" type="tns:WinFormsControlInstanceType"/>
  69. <xs:element name="HelpProvider" type="tns:WinFormsControlInstanceType"/>
  70. <xs:element name="LinkLabel" type="tns:WinFormsControlInstanceType"/>
  71. <xs:element name="TabPage" type="tns:WinFormsControlInstanceType"/>
  72. <!-- ENHANCEMENT: v1.3 new WinForms controls -->
  73. <xs:element name="PropertyGrid" type="tns:WinFormsControlInstanceType"/>
  74. <xs:element name="ImageList" type="tns:WinFormsControlInstanceType"/>
  75. <xs:element name="BindingSource" type="tns:WinFormsControlInstanceType"/>
  76. <xs:element name="BindingNavigator" type="tns:WinFormsControlInstanceType"/>
  77. <xs:element name="WebView2" type="tns:WinFormsControlInstanceType"/>
  78. <xs:element name="Chart" type="tns:WinFormsControlInstanceType"/>
  79. <xs:element name="CrystalReportViewer" type="tns:WinFormsControlInstanceType"/>
  80. <xs:element name="PrintDocument" type="tns:WinFormsControlInstanceType"/>
  81. <xs:element name="PageSetupDialog" type="tns:WinFormsControlInstanceType"/>
  82. <xs:element name="PrintPreviewControl" type="tns:WinFormsControlInstanceType"/>
  83. <xs:element name="DomainUpDown" type="tns:WinFormsControlInstanceType"/>
  84. <xs:element name="Splitter" type="tns:WinFormsControlInstanceType"/>
  85. <xs:element name="Form" type="tns:WinFormsControlInstanceType"/>
  86. <xs:element name="MDIForm" type="tns:WinFormsControlInstanceType"/>
  87. <xs:element name="UserControl" type="tns:WinFormsControlInstanceType"/>
  88. <!-- WinForms ToolStrip Items -->
  89. <xs:element name="ToolStripMenuItem" type="tns:WinFormsControlInstanceType"/>
  90. <xs:element name="ToolStripButton" type="tns:WinFormsControlInstanceType"/>
  91. <xs:element name="ToolStripLabel" type="tns:WinFormsControlInstanceType"/>
  92. <xs:element name="ToolStripSeparator" type="tns:WinFormsControlInstanceType"/>
  93. <xs:element name="ToolStripComboBox" type="tns:WinFormsControlInstanceType"/>
  94. <xs:element name="ToolStripTextBox" type="tns:WinFormsControlInstanceType"/>
  95. <xs:element name="ToolStripStatusLabel" type="tns:WinFormsControlInstanceType"/>
  96. <xs:element name="ToolStripProgressBar" type="tns:WinFormsControlInstanceType"/>
  97. <xs:element name="ToolStripDropDownButton" type="tns:WinFormsControlInstanceType"/>
  98. <xs:element name="ToolStripSplitButton" type="tns:WinFormsControlInstanceType"/>
  99. <!-- ENHANCEMENT: v1.3 new ToolStrip items -->
  100. <xs:element name="ToolStripControlHost" type="tns:WinFormsControlInstanceType"/>
  101. <xs:element name="ToolStripSpring" type="tns:WinFormsControlInstanceType"/>
  102. <xs:element name="ToolStripContainer" type="tns:WinFormsControlInstanceType"/>
  103. <xs:element name="ToolStripPanel" type="tns:WinFormsControlInstanceType"/>
  104. <xs:element name="ToolStripContentPanel" type="tns:WinFormsControlInstanceType"/>
  105. <!-- WinForms-specific supporting elements -->
  106. <xs:element name="tabpages" type="tns:TabPagesType"/>
  107. <xs:element name="panels" type="tns:PanelsType"/>
  108. <xs:element name="table-layout" type="tns:TableLayoutType"/>
  109. <!-- ENHANCEMENT: v1.3 new supporting elements -->
  110. <xs:element name="data-binding" type="tns:WinFormsDataBindingType"/>
  111. <xs:element name="validation" type="tns:WinFormsValidationType"/>
  112. <xs:element name="localization" type="tns:WinFormsLocalizationType"/>
  113. <xs:element name="accessibility" type="tns:WinFormsAccessibilityType"/>
  114. <xs:element name="printing" type="tns:PrintingType"/>
  115. <xs:element name="help-system" type="tns:HelpSystemType"/>
  116. </xs:choice>
  117. </xs:group>
  118. <!-- ENHANCEMENT: WinForms Data Binding Type -->
  119. <xs:complexType name="WinFormsDataBindingType">
  120. <xs:sequence>
  121. <xs:element name="binding" type="tns:WinFormsBindingType" maxOccurs="unbounded"/>
  122. <xs:element name="binding-source" type="tns:BindingSourceType" minOccurs="0" maxOccurs="unbounded"/>
  123. </xs:sequence>
  124. </xs:complexType>
  125. <xs:complexType name="WinFormsBindingType">
  126. <xs:attribute name="property-name" type="xs:string" use="required"/>
  127. <xs:attribute name="data-source" type="xs:string" use="required"/>
  128. <xs:attribute name="data-member" type="xs:string"/>
  129. <xs:attribute name="format-string" type="xs:string"/>
  130. <xs:attribute name="null-value" type="xs:string"/>
  131. <xs:attribute name="data-source-update-mode" type="tns:DataSourceUpdateModeEnum" default="OnValidation"/>
  132. <xs:attribute name="control-update-mode" type="tns:ControlUpdateModeEnum" default="OnPropertyChanged"/>
  133. </xs:complexType>
  134. <xs:complexType name="BindingSourceType">
  135. <xs:attribute name="name" type="xs:string" use="required"/>
  136. <xs:attribute name="data-source" type="xs:string"/>
  137. <xs:attribute name="data-member" type="xs:string"/>
  138. <xs:attribute name="allow-new" type="xs:boolean" default="true"/>
  139. <xs:attribute name="sort" type="xs:string"/>
  140. <xs:attribute name="filter" type="xs:string"/>
  141. </xs:complexType>
  142. <xs:simpleType name="DataSourceUpdateModeEnum">
  143. <xs:restriction base="xs:string">
  144. <xs:enumeration value="OnValidation"/>
  145. <xs:enumeration value="OnPropertyChanged"/>
  146. <xs:enumeration value="Never"/>
  147. </xs:restriction>
  148. </xs:simpleType>
  149. <xs:simpleType name="ControlUpdateModeEnum">
  150. <xs:restriction base="xs:string">
  151. <xs:enumeration value="OnPropertyChanged"/>
  152. <xs:enumeration value="Never"/>
  153. </xs:restriction>
  154. </xs:simpleType>
  155. <!-- ENHANCEMENT: WinForms Validation Type -->
  156. <xs:complexType name="WinFormsValidationType">
  157. <xs:sequence>
  158. <xs:element name="error-provider" type="tns:ErrorProviderType" maxOccurs="unbounded"/>
  159. <xs:element name="validation-rule" type="tns:ValidationRuleType" minOccurs="0" maxOccurs="unbounded"/>
  160. </xs:sequence>
  161. </xs:complexType>
  162. <xs:complexType name="ErrorProviderType">
  163. <xs:attribute name="name" type="xs:string" use="required"/>
  164. <xs:attribute name="control" type="xs:string" use="required"/>
  165. <xs:attribute name="error-message" type="xs:string" use="required"/>
  166. <xs:attribute name="icon-alignment" type="tns:ErrorIconAlignmentEnum" default="MiddleRight"/>
  167. <xs:attribute name="icon-padding" type="xs:int" default="0"/>
  168. <xs:attribute name="blink-style" type="tns:ErrorBlinkStyleEnum" default="BlinkIfDifferentError"/>
  169. <xs:attribute name="blink-rate" type="xs:int" default="250"/>
  170. </xs:complexType>
  171. <xs:complexType name="ValidationRuleType">
  172. <xs:attribute name="control" type="xs:string" use="required"/>
  173. <xs:attribute name="validation-type" type="tns:ValidationTypeEnum" use="required"/>
  174. <xs:attribute name="pattern" type="xs:string"/>
  175. <xs:attribute name="min-value" type="xs:string"/>
  176. <xs:attribute name="max-value" type="xs:string"/>
  177. <xs:attribute name="required" type="xs:boolean" default="false"/>
  178. <xs:attribute name="error-message" type="xs:string"/>
  179. </xs:complexType>
  180. <xs:simpleType name="ErrorIconAlignmentEnum">
  181. <xs:restriction base="xs:string">
  182. <xs:enumeration value="TopLeft"/>
  183. <xs:enumeration value="TopRight"/>
  184. <xs:enumeration value="MiddleLeft"/>
  185. <xs:enumeration value="MiddleRight"/>
  186. <xs:enumeration value="BottomLeft"/>
  187. <xs:enumeration value="BottomRight"/>
  188. </xs:restriction>
  189. </xs:simpleType>
  190. <xs:simpleType name="ErrorBlinkStyleEnum">
  191. <xs:restriction base="xs:string">
  192. <xs:enumeration value="BlinkIfDifferentError"/>
  193. <xs:enumeration value="AlwaysBlink"/>
  194. <xs:enumeration value="NeverBlink"/>
  195. </xs:restriction>
  196. </xs:simpleType>
  197. <xs:simpleType name="ValidationTypeEnum">
  198. <xs:restriction base="xs:string">
  199. <xs:enumeration value="Required"/>
  200. <xs:enumeration value="RegularExpression"/>
  201. <xs:enumeration value="Range"/>
  202. <xs:enumeration value="StringLength"/>
  203. <xs:enumeration value="Email"/>
  204. <xs:enumeration value="Phone"/>
  205. <xs:enumeration value="Url"/>
  206. <xs:enumeration value="CreditCard"/>
  207. <xs:enumeration value="Custom"/>
  208. </xs:restriction>
  209. </xs:simpleType>
  210. <!-- ENHANCEMENT: WinForms Localization Type -->
  211. <xs:complexType name="WinFormsLocalizationType">
  212. <xs:sequence>
  213. <xs:element name="localizable-property" type="tns:LocalizablePropertyType" maxOccurs="unbounded"/>
  214. </xs:sequence>
  215. <xs:attribute name="culture" type="xs:string" default="en-US"/>
  216. <xs:attribute name="right-to-left" type="tns:RightToLeftEnum" default="No"/>
  217. </xs:complexType>
  218. <xs:complexType name="LocalizablePropertyType">
  219. <xs:attribute name="control" type="xs:string" use="required"/>
  220. <xs:attribute name="property" type="xs:string" use="required"/>
  221. <xs:attribute name="resource-key" type="xs:string" use="required"/>
  222. <xs:attribute name="resource-file" type="xs:string"/>
  223. </xs:complexType>
  224. <xs:simpleType name="RightToLeftEnum">
  225. <xs:restriction base="xs:string">
  226. <xs:enumeration value="No"/>
  227. <xs:enumeration value="Yes"/>
  228. <xs:enumeration value="Inherit"/>
  229. </xs:restriction>
  230. </xs:simpleType>
  231. <!-- ENHANCEMENT: WinForms Accessibility Type -->
  232. <xs:complexType name="WinFormsAccessibilityType">
  233. <xs:sequence>
  234. <xs:element name="accessibility-info" type="tns:AccessibilityInfoType" maxOccurs="unbounded"/>
  235. </xs:sequence>
  236. </xs:complexType>
  237. <xs:complexType name="AccessibilityInfoType">
  238. <xs:attribute name="control" type="xs:string" use="required"/>
  239. <xs:attribute name="accessible-name" type="xs:string"/>
  240. <xs:attribute name="accessible-description" type="xs:string"/>
  241. <xs:attribute name="accessible-role" type="tns:AccessibleRoleEnum" default="Default"/>
  242. <xs:attribute name="accessible-default-action-description" type="xs:string"/>
  243. <xs:attribute name="tab-index" type="xs:int"/>
  244. <xs:attribute name="tab-stop" type="xs:boolean" default="true"/>
  245. </xs:complexType>
  246. <xs:simpleType name="AccessibleRoleEnum">
  247. <xs:restriction base="xs:string">
  248. <xs:enumeration value="Default"/>
  249. <xs:enumeration value="None"/>
  250. <xs:enumeration value="Button"/>
  251. <xs:enumeration value="CheckBox"/>
  252. <xs:enumeration value="ComboBox"/>
  253. <xs:enumeration value="Link"/>
  254. <xs:enumeration value="List"/>
  255. <xs:enumeration value="ListItem"/>
  256. <xs:enumeration value="MenuBar"/>
  257. <xs:enumeration value="MenuItem"/>
  258. <xs:enumeration value="MenuPopup"/>
  259. <xs:enumeration value="ProgressBar"/>
  260. <xs:enumeration value="RadioButton"/>
  261. <xs:enumeration value="ScrollBar"/>
  262. <xs:enumeration value="Slider"/>
  263. <xs:enumeration value="StaticText"/>
  264. <xs:enumeration value="Text"/>
  265. <xs:enumeration value="ToolBar"/>
  266. <xs:enumeration value="ToolTip"/>
  267. <xs:enumeration value="Tree"/>
  268. <xs:enumeration value="TreeItem"/>
  269. <xs:enumeration value="Window"/>
  270. </xs:restriction>
  271. </xs:simpleType>
  272. <!-- ENHANCEMENT: Printing Type -->
  273. <xs:complexType name="PrintingType">
  274. <xs:sequence>
  275. <xs:element name="print-document" type="tns:PrintDocumentType" minOccurs="0"/>
  276. <xs:element name="print-preview" type="tns:PrintPreviewType" minOccurs="0"/>
  277. <xs:element name="page-setup" type="tns:PageSetupType" minOccurs="0"/>
  278. </xs:sequence>
  279. </xs:complexType>
  280. <xs:complexType name="PrintDocumentType">
  281. <xs:attribute name="document-name" type="xs:string" default="Document"/>
  282. <xs:attribute name="default-page-settings" type="xs:string"/>
  283. <xs:attribute name="printer-settings" type="xs:string"/>
  284. <xs:attribute name="origin-at-margins" type="xs:boolean" default="false"/>
  285. </xs:complexType>
  286. <xs:complexType name="PrintPreviewType">
  287. <xs:attribute name="auto-zoom" type="xs:boolean" default="true"/>
  288. <xs:attribute name="zoom" type="xs:decimal" default="0.3"/>
  289. <xs:attribute name="columns" type="xs:int" default="1" min="1" max="10"/>
  290. <xs:attribute name="rows" type="xs:int" default="1" min="1" max="10"/>
  291. <xs:attribute name="start-page" type="xs:int" default="0"/>
  292. </xs:complexType>
  293. <xs:complexType name="PageSetupType">
  294. <xs:attribute name="margins" type="xs:string" default="100,100,100,100"/>
  295. <xs:attribute name="paper-size" type="tns:PaperSizeEnum" default="Letter"/>
  296. <xs:attribute name="landscape" type="xs:boolean" default="false"/>
  297. <xs:attribute name="color" type="xs:boolean" default="false"/>
  298. </xs:complexType>
  299. <xs:simpleType name="PaperSizeEnum">
  300. <xs:restriction base="xs:string">
  301. <xs:enumeration value="Letter"/>
  302. <xs:enumeration value="Legal"/>
  303. <xs:enumeration value="A4"/>
  304. <xs:enumeration value="A3"/>
  305. <xs:enumeration value="A5"/>
  306. <xs:enumeration value="Tabloid"/>
  307. <xs:enumeration value="Custom"/>
  308. </xs:restriction>
  309. </xs:simpleType>
  310. <!-- ENHANCEMENT: Help System Type -->
  311. <xs:complexType name="HelpSystemType">
  312. <xs:sequence>
  313. <xs:element name="help-provider" type="tns:HelpProviderType" minOccurs="0"/>
  314. <xs:element name="context-help" type="tns:ContextHelpType" minOccurs="0" maxOccurs="unbounded"/>
  315. </xs:sequence>
  316. </xs:complexType>
  317. <xs:complexType name="HelpProviderType">
  318. <xs:attribute name="help-namespace" type="xs:string"/>
  319. <xs:attribute name="help-navigator" type="tns:HelpNavigatorEnum" default="Topic"/>
  320. </xs:complexType>
  321. <xs:complexType name="ContextHelpType">
  322. <xs:attribute name="control" type="xs:string" use="required"/>
  323. <xs:attribute name="help-string" type="xs:string"/>
  324. <xs:attribute name="help-keyword" type="xs:string"/>
  325. <xs:attribute name="help-navigator" type="tns:HelpNavigatorEnum" default="Topic"/>
  326. <xs:attribute name="show-help" type="xs:boolean" default="true"/>
  327. </xs:complexType>
  328. <xs:simpleType name="HelpNavigatorEnum">
  329. <xs:restriction base="xs:string">
  330. <xs:enumeration value="Topic"/>
  331. <xs:enumeration value="TableOfContents"/>
  332. <xs:enumeration value="Index"/>
  333. <xs:enumeration value="Find"/>
  334. <xs:enumeration value="AssociateIndex"/>
  335. <xs:enumeration value="KeywordIndex"/>
  336. <xs:enumeration value="TopicId"/>
  337. </xs:restriction>
  338. </xs:simpleType>
  339. <!-- WinForms-specific supporting types -->
  340. <xs:complexType name="TabPagesType">
  341. <xs:sequence>
  342. <xs:element name="tabpage" maxOccurs="unbounded">
  343. <xs:complexType>
  344. <xs:attribute name="name" type="xs:string" use="required"/>
  345. <xs:attribute name="text" type="xs:string" use="required"/>
  346. <xs:attribute name="tooltip" type="xs:string"/>
  347. <xs:attribute name="imageindex" type="xs:int" default="-1"/>
  348. <!-- ENHANCEMENT: v1.3 additions -->
  349. <xs:attribute name="image-key" type="xs:string"/>
  350. <xs:attribute name="use-visual-style-back-color" type="xs:boolean" default="false"/>
  351. <xs:attribute name="back-color" type="xs:string"/>
  352. <xs:attribute name="fore-color" type="xs:string"/>
  353. <xs:attribute name="font" type="xs:string"/>
  354. <xs:attribute name="padding" type="xs:string" default="3,3,3,3"/>
  355. <xs:attribute name="auto-scroll" type="xs:boolean" default="false"/>
  356. </xs:complexType>
  357. </xs:element>
  358. </xs:sequence>
  359. </xs:complexType>
  360. <xs:complexType name="PanelsType">
  361. <xs:sequence>
  362. <xs:element name="panel" maxOccurs="2">
  363. <xs:complexType>
  364. <xs:attribute name="name" type="xs:string" use="required"/>
  365. <!-- ENHANCEMENT: v1.3 additions -->
  366. <xs:attribute name="fixed-panel" type="tns:FixedPanelEnum" default="None"/>
  367. <xs:attribute name="splitter-distance" type="xs:int"/>
  368. <xs:attribute name="min-size" type="xs:int" default="25"/>
  369. <xs:attribute name="collapsed" type="xs:boolean" default="false"/>
  370. </xs:complexType>
  371. </xs:element>
  372. </xs:sequence>
  373. </xs:complexType>
  374. <xs:simpleType name="FixedPanelEnum">
  375. <xs:restriction base="xs:string">
  376. <xs:enumeration value="None"/>
  377. <xs:enumeration value="Panel1"/>
  378. <xs:enumeration value="Panel2"/>
  379. </xs:restriction>
  380. </xs:simpleType>
  381. <xs:complexType name="TableLayoutType">
  382. <xs:sequence>
  383. <xs:element name="columns" type="tns:TableColumnsType"/>
  384. <xs:element name="rows" type="tns:TableRowsType"/>
  385. <xs:element name="cells" type="tns:CellsType"/>
  386. </xs:sequence>
  387. <!-- ENHANCEMENT: v1.3 additions -->
  388. <xs:attribute name="grow-style" type="tns:TableLayoutPanelGrowStyleEnum" default="AddRows"/>
  389. <xs:attribute name="cell-border-style" type="tns:TableLayoutPanelCellBorderStyleEnum" default="None"/>
  390. </xs:complexType>
  391. <xs:simpleType name="TableLayoutPanelGrowStyleEnum">
  392. <xs:restriction base="xs:string">
  393. <xs:enumeration value="FixedSize"/>
  394. <xs:enumeration value="AddRows"/>
  395. <xs:enumeration value="AddColumns"/>
  396. </xs:restriction>
  397. </xs:simpleType>
  398. <xs:simpleType name="TableLayoutPanelCellBorderStyleEnum">
  399. <xs:restriction base="xs:string">
  400. <xs:enumeration value="None"/>
  401. <xs:enumeration value="Single"/>
  402. <xs:enumeration value="Inset"/>
  403. <xs:enumeration value="InsetDouble"/>
  404. <xs:enumeration value="Outset"/>
  405. <xs:enumeration value="OutsetDouble"/>
  406. <xs:enumeration value="OutsetPartial"/>
  407. </xs:restriction>
  408. </xs:simpleType>
  409. <xs:complexType name="TableColumnsType">
  410. <xs:sequence>
  411. <xs:element name="column" maxOccurs="unbounded">
  412. <xs:complexType>
  413. <xs:attribute name="sizetype" type="tns:SizeTypeEnum" use="required"/>
  414. <xs:attribute name="size" type="xs:string" use="required"/>
  415. <!-- ENHANCEMENT: v1.3 additions -->
  416. <xs:attribute name="min-size" type="xs:int" default="5"/>
  417. <xs:attribute name="max-size" type="xs:int" default="0"/>
  418. </xs:complexType>
  419. </xs:element>
  420. </xs:sequence>
  421. </xs:complexType>
  422. <xs:complexType name="TableRowsType">
  423. <xs:sequence>
  424. <xs:element name="row" maxOccurs="unbounded">
  425. <xs:complexType>
  426. <xs:attribute name="sizetype" type="tns:SizeTypeEnum" use="required"/>
  427. <xs:attribute name="size" type="xs:string" use="required"/>
  428. <!-- ENHANCEMENT: v1.3 additions -->
  429. <xs:attribute name="min-size" type="xs:int" default="5"/>
  430. <xs:attribute name="max-size" type="xs:int" default="0"/>
  431. </xs:complexType>
  432. </xs:element>
  433. </xs:sequence>
  434. </xs:complexType>
  435. <xs:simpleType name="SizeTypeEnum">
  436. <xs:restriction base="xs:string">
  437. <xs:enumeration value="AutoSize"/>
  438. <xs:enumeration value="Absolute"/>
  439. <xs:enumeration value="Percent"/>
  440. </xs:restriction>
  441. </xs:simpleType>
  442. <xs:complexType name="CellsType">
  443. <xs:sequence>
  444. <xs:element name="cell" maxOccurs="unbounded">
  445. <xs:complexType>
  446. <xs:attribute name="column" type="xs:int" use="required"/>
  447. <xs:attribute name="row" type="xs:int" use="required"/>
  448. <xs:attribute name="columnspan" type="xs:int" default="1"/>
  449. <xs:attribute name="rowspan" type="xs:int" default="1"/>
  450. <!-- ENHANCEMENT: v1.3 additions -->
  451. <xs:attribute name="anchor" type="tns:AnchorStylesEnum" default="Top,Left"/>
  452. <xs:attribute name="dock" type="tns:DockStyleEnum" default="None"/>
  453. <xs:attribute name="margin" type="xs:string" default="3,3,3,3"/>
  454. </xs:complexType>
  455. </xs:element>
  456. </xs:sequence>
  457. </xs:complexType>
  458. <xs:simpleType name="AnchorStylesEnum">
  459. <xs:restriction base="xs:string">
  460. <xs:enumeration value="Top"/>
  461. <xs:enumeration value="Bottom"/>
  462. <xs:enumeration value="Left"/>
  463. <xs:enumeration value="Right"/>
  464. <xs:enumeration value="Top,Left"/>
  465. <xs:enumeration value="Top,Right"/>
  466. <xs:enumeration value="Bottom,Left"/>
  467. <xs:enumeration value="Bottom,Right"/>
  468. <xs:enumeration value="Top,Bottom"/>
  469. <xs:enumeration value="Left,Right"/>
  470. <xs:enumeration value="Top,Bottom,Left,Right"/>
  471. <xs:enumeration value="None"/>
  472. </xs:restriction>
  473. </xs:simpleType>
  474. <xs:simpleType name="DockStyleEnum">
  475. <xs:restriction base="xs:string">
  476. <xs:enumeration value="None"/>
  477. <xs:enumeration value="Top"/>
  478. <xs:enumeration value="Bottom"/>
  479. <xs:enumeration value="Left"/>
  480. <xs:enumeration value="Right"/>
  481. <xs:enumeration value="Fill"/>
  482. </xs:restriction>
  483. </xs:simpleType>
  484. </xs:schema>