ctkDICOMAppWidget.ui 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <ui version="4.0">
  3. <class>ctkDICOMAppWidget</class>
  4. <widget class="QWidget" name="ctkDICOMAppWidget">
  5. <property name="geometry">
  6. <rect>
  7. <x>0</x>
  8. <y>0</y>
  9. <width>739</width>
  10. <height>638</height>
  11. </rect>
  12. </property>
  13. <property name="sizePolicy">
  14. <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
  15. <horstretch>0</horstretch>
  16. <verstretch>0</verstretch>
  17. </sizepolicy>
  18. </property>
  19. <property name="windowTitle">
  20. <string>ctkDICOMAppWidget</string>
  21. </property>
  22. <layout class="QVBoxLayout" name="verticalLayout_2">
  23. <item>
  24. <layout class="QHBoxLayout" name="HorizontalLayout_3"/>
  25. </item>
  26. <item>
  27. <widget class="QToolBar" name="ToolBar">
  28. <property name="windowTitle">
  29. <string>toolBar</string>
  30. </property>
  31. <property name="floatable">
  32. <bool>true</bool>
  33. </property>
  34. <addaction name="ActionImport"/>
  35. <addaction name="ActionExport"/>
  36. <addaction name="ActionQuery"/>
  37. <addaction name="ActionSend"/>
  38. </widget>
  39. </item>
  40. <item>
  41. <layout class="QVBoxLayout" name="VerticalLayout">
  42. <item>
  43. <layout class="QHBoxLayout" name="TopLayout">
  44. <item>
  45. <widget class="QLabel" name="DatabaseNameLabel">
  46. <property name="maximumSize">
  47. <size>
  48. <width>100</width>
  49. <height>20</height>
  50. </size>
  51. </property>
  52. <property name="text">
  53. <string>LocalDatabase:</string>
  54. </property>
  55. </widget>
  56. </item>
  57. <item>
  58. <widget class="ctkDirectoryButton" name="DirectoryButton" native="true">
  59. <property name="minimumSize">
  60. <size>
  61. <width>200</width>
  62. <height>20</height>
  63. </size>
  64. </property>
  65. </widget>
  66. </item>
  67. <item>
  68. <spacer name="HorizontalSpacer">
  69. <property name="orientation">
  70. <enum>Qt::Horizontal</enum>
  71. </property>
  72. <property name="sizeHint" stdset="0">
  73. <size>
  74. <width>40</width>
  75. <height>20</height>
  76. </size>
  77. </property>
  78. </spacer>
  79. </item>
  80. </layout>
  81. </item>
  82. <item>
  83. <layout class="QHBoxLayout" name="QueryLayout" stretch="1,0">
  84. <item>
  85. <widget class="QTreeView" name="TreeView">
  86. <property name="alternatingRowColors">
  87. <bool>true</bool>
  88. </property>
  89. </widget>
  90. </item>
  91. <item>
  92. <layout class="QVBoxLayout" name="searchOptionLayout">
  93. <item>
  94. <widget class="ctkDICOMQueryWidget" name="SearchOption" native="true"/>
  95. </item>
  96. <item>
  97. <spacer name="VerticalSpacer">
  98. <property name="orientation">
  99. <enum>Qt::Vertical</enum>
  100. </property>
  101. <property name="sizeHint" stdset="0">
  102. <size>
  103. <width>20</width>
  104. <height>40</height>
  105. </size>
  106. </property>
  107. </spacer>
  108. </item>
  109. </layout>
  110. </item>
  111. </layout>
  112. </item>
  113. <item>
  114. <layout class="QHBoxLayout" name="horizontalLayout"/>
  115. </item>
  116. <item>
  117. <widget class="QFrame" name="UserFrame">
  118. <property name="frameShape">
  119. <enum>QFrame::StyledPanel</enum>
  120. </property>
  121. <property name="frameShadow">
  122. <enum>QFrame::Raised</enum>
  123. </property>
  124. </widget>
  125. </item>
  126. <item>
  127. <layout class="QHBoxLayout" name="ViewerLayout">
  128. <item>
  129. <layout class="QVBoxLayout" name="verticalLayout">
  130. <item>
  131. <widget class="ctkDICOMThumbnailListWidget" name="ThumbnailsWidget" native="true">
  132. <property name="sizePolicy">
  133. <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
  134. <horstretch>0</horstretch>
  135. <verstretch>0</verstretch>
  136. </sizepolicy>
  137. </property>
  138. <property name="minimumSize">
  139. <size>
  140. <width>0</width>
  141. <height>200</height>
  142. </size>
  143. </property>
  144. </widget>
  145. </item>
  146. <item>
  147. <layout class="QHBoxLayout" name="horizontalLayout_3">
  148. <item>
  149. <spacer name="horizontalSpacer">
  150. <property name="orientation">
  151. <enum>Qt::Horizontal</enum>
  152. </property>
  153. <property name="sizeHint" stdset="0">
  154. <size>
  155. <width>40</width>
  156. <height>20</height>
  157. </size>
  158. </property>
  159. </spacer>
  160. </item>
  161. <item>
  162. <widget class="QSlider" name="ThumbnailWidthSlider">
  163. <property name="maximumSize">
  164. <size>
  165. <width>200</width>
  166. <height>16777215</height>
  167. </size>
  168. </property>
  169. <property name="minimum">
  170. <number>64</number>
  171. </property>
  172. <property name="maximum">
  173. <number>256</number>
  174. </property>
  175. <property name="value">
  176. <number>128</number>
  177. </property>
  178. <property name="orientation">
  179. <enum>Qt::Horizontal</enum>
  180. </property>
  181. </widget>
  182. </item>
  183. <item>
  184. <spacer name="horizontalSpacer_2">
  185. <property name="orientation">
  186. <enum>Qt::Horizontal</enum>
  187. </property>
  188. <property name="sizeHint" stdset="0">
  189. <size>
  190. <width>40</width>
  191. <height>20</height>
  192. </size>
  193. </property>
  194. </spacer>
  195. </item>
  196. </layout>
  197. </item>
  198. </layout>
  199. </item>
  200. <item>
  201. <widget class="QFrame" name="PreviewFrame">
  202. <property name="minimumSize">
  203. <size>
  204. <width>256</width>
  205. <height>256</height>
  206. </size>
  207. </property>
  208. <layout class="QVBoxLayout" name="verticalLayout_3">
  209. <item>
  210. <layout class="QHBoxLayout" name="HorizontalLayout">
  211. <item>
  212. <widget class="QPushButton" name="PrevStudyButton">
  213. <property name="sizePolicy">
  214. <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
  215. <horstretch>32</horstretch>
  216. <verstretch>32</verstretch>
  217. </sizepolicy>
  218. </property>
  219. <property name="maximumSize">
  220. <size>
  221. <width>40</width>
  222. <height>32</height>
  223. </size>
  224. </property>
  225. <property name="toolTip">
  226. <string>Previous study</string>
  227. </property>
  228. <property name="text">
  229. <string>&lt;&lt;&lt;</string>
  230. </property>
  231. </widget>
  232. </item>
  233. <item>
  234. <widget class="QPushButton" name="PrevSeriesButton">
  235. <property name="sizePolicy">
  236. <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
  237. <horstretch>32</horstretch>
  238. <verstretch>32</verstretch>
  239. </sizepolicy>
  240. </property>
  241. <property name="maximumSize">
  242. <size>
  243. <width>40</width>
  244. <height>32</height>
  245. </size>
  246. </property>
  247. <property name="toolTip">
  248. <string>Previous series</string>
  249. </property>
  250. <property name="text">
  251. <string>&lt;&lt;</string>
  252. </property>
  253. </widget>
  254. </item>
  255. <item>
  256. <widget class="QPushButton" name="PrevImageButton">
  257. <property name="sizePolicy">
  258. <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
  259. <horstretch>32</horstretch>
  260. <verstretch>32</verstretch>
  261. </sizepolicy>
  262. </property>
  263. <property name="maximumSize">
  264. <size>
  265. <width>40</width>
  266. <height>32</height>
  267. </size>
  268. </property>
  269. <property name="toolTip">
  270. <string>Previous image</string>
  271. </property>
  272. <property name="text">
  273. <string>&lt;</string>
  274. </property>
  275. </widget>
  276. </item>
  277. <item>
  278. <widget class="QPushButton" name="NextImageButton">
  279. <property name="sizePolicy">
  280. <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
  281. <horstretch>32</horstretch>
  282. <verstretch>32</verstretch>
  283. </sizepolicy>
  284. </property>
  285. <property name="maximumSize">
  286. <size>
  287. <width>40</width>
  288. <height>32</height>
  289. </size>
  290. </property>
  291. <property name="toolTip">
  292. <string>Next image</string>
  293. </property>
  294. <property name="text">
  295. <string>&gt;</string>
  296. </property>
  297. </widget>
  298. </item>
  299. <item>
  300. <widget class="QPushButton" name="NextSeriesButton">
  301. <property name="sizePolicy">
  302. <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
  303. <horstretch>32</horstretch>
  304. <verstretch>32</verstretch>
  305. </sizepolicy>
  306. </property>
  307. <property name="maximumSize">
  308. <size>
  309. <width>40</width>
  310. <height>32</height>
  311. </size>
  312. </property>
  313. <property name="toolTip">
  314. <string>Next series</string>
  315. </property>
  316. <property name="text">
  317. <string>&gt;&gt;</string>
  318. </property>
  319. </widget>
  320. </item>
  321. <item>
  322. <widget class="QPushButton" name="NextStudyButton">
  323. <property name="sizePolicy">
  324. <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
  325. <horstretch>32</horstretch>
  326. <verstretch>32</verstretch>
  327. </sizepolicy>
  328. </property>
  329. <property name="maximumSize">
  330. <size>
  331. <width>40</width>
  332. <height>32</height>
  333. </size>
  334. </property>
  335. <property name="toolTip">
  336. <string>Next study</string>
  337. </property>
  338. <property name="text">
  339. <string>&gt;&gt;&gt;</string>
  340. </property>
  341. </widget>
  342. </item>
  343. </layout>
  344. </item>
  345. <item>
  346. <widget class="ctkDICOMDatasetView" name="imagePreview" native="true">
  347. <property name="sizePolicy">
  348. <sizepolicy hsizetype="Minimum" vsizetype="Expanding">
  349. <horstretch>0</horstretch>
  350. <verstretch>0</verstretch>
  351. </sizepolicy>
  352. </property>
  353. </widget>
  354. </item>
  355. <item>
  356. <layout class="QHBoxLayout" name="horizontalLayout_2">
  357. <item>
  358. <widget class="QCheckBox" name="AutoPlayCheckbox">
  359. <property name="text">
  360. <string>auto-play</string>
  361. </property>
  362. </widget>
  363. </item>
  364. <item>
  365. <widget class="QSlider" name="PlaySlider">
  366. <property name="sizePolicy">
  367. <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
  368. <horstretch>0</horstretch>
  369. <verstretch>0</verstretch>
  370. </sizepolicy>
  371. </property>
  372. <property name="orientation">
  373. <enum>Qt::Horizontal</enum>
  374. </property>
  375. </widget>
  376. </item>
  377. </layout>
  378. </item>
  379. </layout>
  380. </widget>
  381. </item>
  382. </layout>
  383. </item>
  384. </layout>
  385. </item>
  386. </layout>
  387. <action name="ActionImport">
  388. <property name="text">
  389. <string>Import</string>
  390. </property>
  391. <property name="toolTip">
  392. <string>Import a DICOM file or folder</string>
  393. </property>
  394. </action>
  395. <action name="ActionExport">
  396. <property name="enabled">
  397. <bool>false</bool>
  398. </property>
  399. <property name="text">
  400. <string>Export</string>
  401. </property>
  402. <property name="toolTip">
  403. <string>Export selected study/series to a DICOM folder (not yet available)</string>
  404. </property>
  405. </action>
  406. <action name="ActionQuery">
  407. <property name="text">
  408. <string>Query</string>
  409. </property>
  410. <property name="toolTip">
  411. <string>Query and Retrieve DICOM studies from a DICOM node</string>
  412. </property>
  413. </action>
  414. <action name="ActionSend">
  415. <property name="enabled">
  416. <bool>false</bool>
  417. </property>
  418. <property name="text">
  419. <string>Send</string>
  420. </property>
  421. <property name="toolTip">
  422. <string>Send DICOM Studies to a DICOM node (not yet available)</string>
  423. </property>
  424. </action>
  425. </widget>
  426. <customwidgets>
  427. <customwidget>
  428. <class>ctkDICOMQueryWidget</class>
  429. <extends>QWidget</extends>
  430. <header>ctkDICOMQueryWidget.h</header>
  431. <container>1</container>
  432. </customwidget>
  433. <customwidget>
  434. <class>ctkDirectoryButton</class>
  435. <extends>QWidget</extends>
  436. <header>ctkDirectoryButton.h</header>
  437. <container>1</container>
  438. <slots>
  439. <signal>directoryChanged(QString)</signal>
  440. </slots>
  441. </customwidget>
  442. <customwidget>
  443. <class>ctkDICOMThumbnailListWidget</class>
  444. <extends>QWidget</extends>
  445. <header>ctkDICOMThumbnailListWidget.h</header>
  446. <container>1</container>
  447. </customwidget>
  448. <customwidget>
  449. <class>ctkDICOMDatasetView</class>
  450. <extends>QWidget</extends>
  451. <header location="global">ctkDICOMDatasetView.h</header>
  452. <container>1</container>
  453. </customwidget>
  454. </customwidgets>
  455. <resources/>
  456. <connections>
  457. <connection>
  458. <sender>ActionImport</sender>
  459. <signal>triggered(bool)</signal>
  460. <receiver>ctkDICOMAppWidget</receiver>
  461. <slot>openImportDialog()</slot>
  462. <hints>
  463. <hint type="sourcelabel">
  464. <x>-1</x>
  465. <y>-1</y>
  466. </hint>
  467. <hint type="destinationlabel">
  468. <x>319</x>
  469. <y>239</y>
  470. </hint>
  471. </hints>
  472. </connection>
  473. <connection>
  474. <sender>ActionExport</sender>
  475. <signal>triggered(bool)</signal>
  476. <receiver>ctkDICOMAppWidget</receiver>
  477. <slot>openExportDialog()</slot>
  478. <hints>
  479. <hint type="sourcelabel">
  480. <x>-1</x>
  481. <y>-1</y>
  482. </hint>
  483. <hint type="destinationlabel">
  484. <x>319</x>
  485. <y>239</y>
  486. </hint>
  487. </hints>
  488. </connection>
  489. <connection>
  490. <sender>ActionQuery</sender>
  491. <signal>triggered(bool)</signal>
  492. <receiver>ctkDICOMAppWidget</receiver>
  493. <slot>openQueryDialog()</slot>
  494. <hints>
  495. <hint type="sourcelabel">
  496. <x>-1</x>
  497. <y>-1</y>
  498. </hint>
  499. <hint type="destinationlabel">
  500. <x>319</x>
  501. <y>239</y>
  502. </hint>
  503. </hints>
  504. </connection>
  505. <connection>
  506. <sender>NextImageButton</sender>
  507. <signal>clicked()</signal>
  508. <receiver>ctkDICOMAppWidget</receiver>
  509. <slot>onNextImage()</slot>
  510. <hints>
  511. <hint type="sourcelabel">
  512. <x>608</x>
  513. <y>395</y>
  514. </hint>
  515. <hint type="destinationlabel">
  516. <x>369</x>
  517. <y>318</y>
  518. </hint>
  519. </hints>
  520. </connection>
  521. <connection>
  522. <sender>PrevImageButton</sender>
  523. <signal>clicked()</signal>
  524. <receiver>ctkDICOMAppWidget</receiver>
  525. <slot>onPreviousImage()</slot>
  526. <hints>
  527. <hint type="sourcelabel">
  528. <x>566</x>
  529. <y>395</y>
  530. </hint>
  531. <hint type="destinationlabel">
  532. <x>369</x>
  533. <y>318</y>
  534. </hint>
  535. </hints>
  536. </connection>
  537. <connection>
  538. <sender>NextSeriesButton</sender>
  539. <signal>clicked()</signal>
  540. <receiver>ctkDICOMAppWidget</receiver>
  541. <slot>onNextSeries()</slot>
  542. <hints>
  543. <hint type="sourcelabel">
  544. <x>650</x>
  545. <y>395</y>
  546. </hint>
  547. <hint type="destinationlabel">
  548. <x>369</x>
  549. <y>318</y>
  550. </hint>
  551. </hints>
  552. </connection>
  553. <connection>
  554. <sender>PrevSeriesButton</sender>
  555. <signal>clicked()</signal>
  556. <receiver>ctkDICOMAppWidget</receiver>
  557. <slot>onPreviousSeries()</slot>
  558. <hints>
  559. <hint type="sourcelabel">
  560. <x>524</x>
  561. <y>395</y>
  562. </hint>
  563. <hint type="destinationlabel">
  564. <x>369</x>
  565. <y>318</y>
  566. </hint>
  567. </hints>
  568. </connection>
  569. <connection>
  570. <sender>NextStudyButton</sender>
  571. <signal>clicked()</signal>
  572. <receiver>ctkDICOMAppWidget</receiver>
  573. <slot>onNextStudy()</slot>
  574. <hints>
  575. <hint type="sourcelabel">
  576. <x>692</x>
  577. <y>395</y>
  578. </hint>
  579. <hint type="destinationlabel">
  580. <x>369</x>
  581. <y>318</y>
  582. </hint>
  583. </hints>
  584. </connection>
  585. <connection>
  586. <sender>PrevStudyButton</sender>
  587. <signal>clicked()</signal>
  588. <receiver>ctkDICOMAppWidget</receiver>
  589. <slot>onPreviousStudy()</slot>
  590. <hints>
  591. <hint type="sourcelabel">
  592. <x>482</x>
  593. <y>395</y>
  594. </hint>
  595. <hint type="destinationlabel">
  596. <x>369</x>
  597. <y>318</y>
  598. </hint>
  599. </hints>
  600. </connection>
  601. <connection>
  602. <sender>AutoPlayCheckbox</sender>
  603. <signal>stateChanged(int)</signal>
  604. <receiver>ctkDICOMAppWidget</receiver>
  605. <slot>onAutoPlayCheckboxStateChanged(int)</slot>
  606. <hints>
  607. <hint type="sourcelabel">
  608. <x>430</x>
  609. <y>596</y>
  610. </hint>
  611. <hint type="destinationlabel">
  612. <x>369</x>
  613. <y>318</y>
  614. </hint>
  615. </hints>
  616. </connection>
  617. <connection>
  618. <sender>ThumbnailWidthSlider</sender>
  619. <signal>valueChanged(int)</signal>
  620. <receiver>ctkDICOMAppWidget</receiver>
  621. <slot>onThumbnailWidthSliderValueChanged(int)</slot>
  622. <hints>
  623. <hint type="sourcelabel">
  624. <x>236</x>
  625. <y>610</y>
  626. </hint>
  627. <hint type="destinationlabel">
  628. <x>369</x>
  629. <y>318</y>
  630. </hint>
  631. </hints>
  632. </connection>
  633. </connections>
  634. <slots>
  635. <signal>signal1()</signal>
  636. <slot>openImportDialog()</slot>
  637. <slot>openExportDialog()</slot>
  638. <slot>openQueryDialog()</slot>
  639. <slot>onDatabaseDirectoryChaged(QString)</slot>
  640. <slot>onNextImage()</slot>
  641. <slot>onPreviousImage()</slot>
  642. <slot>onNextSeries()</slot>
  643. <slot>onPreviousSeries()</slot>
  644. <slot>onNextStudy()</slot>
  645. <slot>onPreviousStudy()</slot>
  646. <slot>onAutoPlayCheckboxStateChanged(int)</slot>
  647. <slot>onThumbnailWidthSliderValueChanged(int)</slot>
  648. </slots>
  649. </ui>