miqt-uic: invent some test cases, ensure we notice generation regressions

This commit is contained in:
mappu 2025-05-27 21:09:39 +12:00
parent ead54f09d3
commit dd62ee1f60
25 changed files with 1481 additions and 4 deletions

81
cmd/miqt-uic/testdata/qt5_dialog.ui vendored Normal file
View File

@ -0,0 +1,81 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>Dialog</class>
<widget class="QDialog" name="Dialog">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>400</width>
<height>300</height>
</rect>
</property>
<property name="windowTitle">
<string>Dialog</string>
</property>
<widget class="QDialogButtonBox" name="buttonBox">
<property name="geometry">
<rect>
<x>30</x>
<y>240</y>
<width>341</width>
<height>32</height>
</rect>
</property>
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="standardButtons">
<set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
</property>
</widget>
<widget class="QLabel" name="label">
<property name="geometry">
<rect>
<x>20</x>
<y>20</y>
<width>171</width>
<height>31</height>
</rect>
</property>
<property name="text">
<string>QDialog as base class</string>
</property>
</widget>
</widget>
<resources/>
<connections>
<connection>
<sender>buttonBox</sender>
<signal>accepted()</signal>
<receiver>Dialog</receiver>
<slot>accept()</slot>
<hints>
<hint type="sourcelabel">
<x>248</x>
<y>254</y>
</hint>
<hint type="destinationlabel">
<x>157</x>
<y>274</y>
</hint>
</hints>
</connection>
<connection>
<sender>buttonBox</sender>
<signal>rejected()</signal>
<receiver>Dialog</receiver>
<slot>reject()</slot>
<hints>
<hint type="sourcelabel">
<x>316</x>
<y>260</y>
</hint>
<hint type="destinationlabel">
<x>286</x>
<y>274</y>
</hint>
</hints>
</connection>
</connections>
</ui>

View File

@ -0,0 +1,44 @@
// Generated by miqt-uic. To update this file, edit the .ui file in
// Qt Designer, and then run 'go generate'.
//
//go:generate miqt-uic go_generate_args
package test_package_name
import (
"github.com/mappu/miqt/qt"
)
type DialogUi struct {
Dialog *qt.QDialog
buttonBox *qt.QDialogButtonBox
label *qt.QLabel
}
// NewDialogUi creates all Qt widget classes for Dialog.
func NewDialogUi() *DialogUi {
ui := &DialogUi{}
ui.Dialog = qt.NewQDialog(nil)
ui.Dialog.SetObjectName("Dialog")
ui.Dialog.Resize(400, 300)
ui.Dialog.SetWindowTitle("Dialog")
ui.buttonBox = qt.NewQDialogButtonBox(ui.Dialog.QWidget)
ui.buttonBox.SetObjectName("buttonBox")
ui.buttonBox.SetGeometry(qt.NewQRect(30, 240, 341, 32))
ui.buttonBox.SetOrientation(qt.Horizontal)
ui.buttonBox.SetStandardButtons(qt.QDialogButtonBox__Cancel | qt.QDialogButtonBox__Ok)
ui.buttonBox.OnAccepted(ui.Dialog.Accept)
ui.buttonBox.OnRejected(ui.Dialog.Reject)
ui.label = qt.NewQLabel(ui.Dialog.QWidget)
ui.label.SetObjectName("label")
ui.label.SetGeometry(qt.NewQRect(20, 20, 171, 31))
ui.Retranslate()
return ui
}
// Retranslate reapplies all text translations.
func (ui *DialogUi) Retranslate() {
ui.label.SetText(qt.QDialog_Tr("QDialog as base class"))
}

View File

@ -0,0 +1,45 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>MainWindow</class>
<widget class="QMainWindow" name="MainWindow">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>800</width>
<height>600</height>
</rect>
</property>
<property name="windowTitle">
<string>MainWindow</string>
</property>
<widget class="QWidget" name="centralwidget">
<widget class="QPushButton" name="pushButton">
<property name="geometry">
<rect>
<x>20</x>
<y>20</y>
<width>84</width>
<height>33</height>
</rect>
</property>
<property name="text">
<string>PushButton</string>
</property>
</widget>
</widget>
<widget class="QMenuBar" name="menubar">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>800</width>
<height>29</height>
</rect>
</property>
</widget>
<widget class="QStatusBar" name="statusbar"/>
</widget>
<resources/>
<connections/>
</ui>

View File

@ -0,0 +1,49 @@
// Generated by miqt-uic. To update this file, edit the .ui file in
// Qt Designer, and then run 'go generate'.
//
//go:generate miqt-uic go_generate_args
package test_package_name
import (
"github.com/mappu/miqt/qt"
)
type MainWindowUi struct {
MainWindow *qt.QMainWindow
centralwidget *qt.QWidget
pushButton *qt.QPushButton
menubar *qt.QMenuBar
statusbar *qt.QStatusBar
}
// NewMainWindowUi creates all Qt widget classes for MainWindow.
func NewMainWindowUi() *MainWindowUi {
ui := &MainWindowUi{}
ui.MainWindow = qt.NewQMainWindow(nil)
ui.MainWindow.SetObjectName("MainWindow")
ui.MainWindow.Resize(800, 600)
ui.MainWindow.SetWindowTitle("MainWindow")
ui.centralwidget = qt.NewQWidget(ui.MainWindow.QWidget)
ui.centralwidget.SetObjectName("centralwidget")
ui.pushButton = qt.NewQPushButton(ui.centralwidget)
ui.pushButton.SetObjectName("pushButton")
ui.pushButton.SetGeometry(qt.NewQRect(20, 20, 84, 33))
ui.MainWindow.SetCentralWidget(ui.centralwidget) // Set central widget
ui.menubar = qt.NewQMenuBar(ui.MainWindow.QWidget)
ui.menubar.SetObjectName("menubar")
ui.menubar.Resize(800, 29)
ui.MainWindow.SetMenuBar(ui.menubar)
ui.statusbar = qt.NewQStatusBar(ui.MainWindow.QWidget)
ui.statusbar.SetObjectName("statusbar")
ui.MainWindow.SetStatusBar(ui.statusbar)
ui.Retranslate()
return ui
}
// Retranslate reapplies all text translations.
func (ui *MainWindowUi) Retranslate() {
ui.pushButton.SetText(qt.QWidget_Tr("PushButton"))
}

View File

@ -0,0 +1,62 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>MainWindow</class>
<widget class="QMainWindow" name="MainWindow">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>800</width>
<height>600</height>
</rect>
</property>
<property name="windowTitle">
<string>MainWindow</string>
</property>
<widget class="QWidget" name="centralwidget">
<layout class="QGridLayout" name="gridLayout">
<item row="0" column="0">
<widget class="QPushButton" name="pushButton_2">
<property name="text">
<string>top left</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QPushButton" name="pushButton">
<property name="text">
<string>top right</string>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QPushButton" name="pushButton_3">
<property name="text">
<string>bottom left</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QPushButton" name="pushButton_4">
<property name="text">
<string>bottom right</string>
</property>
</widget>
</item>
</layout>
</widget>
<widget class="QMenuBar" name="menubar">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>800</width>
<height>29</height>
</rect>
</property>
</widget>
<widget class="QStatusBar" name="statusbar"/>
</widget>
<resources/>
<connections/>
</ui>

View File

@ -0,0 +1,73 @@
// Generated by miqt-uic. To update this file, edit the .ui file in
// Qt Designer, and then run 'go generate'.
//
//go:generate miqt-uic go_generate_args
package test_package_name
import (
"github.com/mappu/miqt/qt"
)
type MainWindowUi struct {
MainWindow *qt.QMainWindow
centralwidget *qt.QWidget
gridLayout *qt.QGridLayout
pushButton_2 *qt.QPushButton
pushButton *qt.QPushButton
pushButton_3 *qt.QPushButton
pushButton_4 *qt.QPushButton
menubar *qt.QMenuBar
statusbar *qt.QStatusBar
}
// NewMainWindowUi creates all Qt widget classes for MainWindow.
func NewMainWindowUi() *MainWindowUi {
ui := &MainWindowUi{}
ui.MainWindow = qt.NewQMainWindow(nil)
ui.MainWindow.SetObjectName("MainWindow")
ui.MainWindow.Resize(800, 600)
ui.MainWindow.SetWindowTitle("MainWindow")
ui.centralwidget = qt.NewQWidget(ui.MainWindow.QWidget)
ui.centralwidget.SetObjectName("centralwidget")
ui.gridLayout = qt.NewQGridLayout(ui.centralwidget)
ui.gridLayout.SetObjectName("gridLayout")
ui.gridLayout.SetContentsMargins(11, 11, 11, 11)
ui.gridLayout.SetSpacing(6)
ui.pushButton_2 = qt.NewQPushButton(ui.centralwidget)
ui.pushButton_2.SetObjectName("pushButton_2")
ui.gridLayout.AddWidget2(ui.pushButton_2.QWidget, 0, 0)
ui.pushButton = qt.NewQPushButton(ui.centralwidget)
ui.pushButton.SetObjectName("pushButton")
ui.gridLayout.AddWidget2(ui.pushButton.QWidget, 0, 1)
ui.pushButton_3 = qt.NewQPushButton(ui.centralwidget)
ui.pushButton_3.SetObjectName("pushButton_3")
ui.gridLayout.AddWidget2(ui.pushButton_3.QWidget, 1, 0)
ui.pushButton_4 = qt.NewQPushButton(ui.centralwidget)
ui.pushButton_4.SetObjectName("pushButton_4")
ui.gridLayout.AddWidget2(ui.pushButton_4.QWidget, 1, 1)
ui.MainWindow.SetCentralWidget(ui.centralwidget) // Set central widget
ui.menubar = qt.NewQMenuBar(ui.MainWindow.QWidget)
ui.menubar.SetObjectName("menubar")
ui.menubar.Resize(800, 29)
ui.MainWindow.SetMenuBar(ui.menubar)
ui.statusbar = qt.NewQStatusBar(ui.MainWindow.QWidget)
ui.statusbar.SetObjectName("statusbar")
ui.MainWindow.SetStatusBar(ui.statusbar)
ui.Retranslate()
return ui
}
// Retranslate reapplies all text translations.
func (ui *MainWindowUi) Retranslate() {
ui.pushButton_2.SetText(qt.QWidget_Tr("top left"))
ui.pushButton.SetText(qt.QWidget_Tr("top right"))
ui.pushButton_3.SetText(qt.QWidget_Tr("bottom left"))
ui.pushButton_4.SetText(qt.QWidget_Tr("bottom right"))
}

View File

@ -0,0 +1,48 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>MainWindow</class>
<widget class="QMainWindow" name="MainWindow">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>800</width>
<height>600</height>
</rect>
</property>
<property name="windowTitle">
<string>MainWindow</string>
</property>
<widget class="QWidget" name="centralwidget">
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<widget class="QPushButton" name="pushButton_2">
<property name="text">
<string>PushButton</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="pushButton">
<property name="text">
<string>PushButton</string>
</property>
</widget>
</item>
</layout>
</widget>
<widget class="QMenuBar" name="menubar">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>800</width>
<height>29</height>
</rect>
</property>
</widget>
<widget class="QStatusBar" name="statusbar"/>
</widget>
<resources/>
<connections/>
</ui>

View File

@ -0,0 +1,61 @@
// Generated by miqt-uic. To update this file, edit the .ui file in
// Qt Designer, and then run 'go generate'.
//
//go:generate miqt-uic go_generate_args
package test_package_name
import (
"github.com/mappu/miqt/qt"
)
type MainWindowUi struct {
MainWindow *qt.QMainWindow
centralwidget *qt.QWidget
horizontalLayout *qt.QHBoxLayout
pushButton_2 *qt.QPushButton
pushButton *qt.QPushButton
menubar *qt.QMenuBar
statusbar *qt.QStatusBar
}
// NewMainWindowUi creates all Qt widget classes for MainWindow.
func NewMainWindowUi() *MainWindowUi {
ui := &MainWindowUi{}
ui.MainWindow = qt.NewQMainWindow(nil)
ui.MainWindow.SetObjectName("MainWindow")
ui.MainWindow.Resize(800, 600)
ui.MainWindow.SetWindowTitle("MainWindow")
ui.centralwidget = qt.NewQWidget(ui.MainWindow.QWidget)
ui.centralwidget.SetObjectName("centralwidget")
ui.horizontalLayout = qt.NewQHBoxLayout(ui.centralwidget)
ui.horizontalLayout.SetObjectName("horizontalLayout")
ui.horizontalLayout.SetContentsMargins(11, 11, 11, 11)
ui.horizontalLayout.SetSpacing(6)
ui.pushButton_2 = qt.NewQPushButton(ui.centralwidget)
ui.pushButton_2.SetObjectName("pushButton_2")
ui.horizontalLayout.AddWidget(ui.pushButton_2.QWidget)
ui.pushButton = qt.NewQPushButton(ui.centralwidget)
ui.pushButton.SetObjectName("pushButton")
ui.horizontalLayout.AddWidget(ui.pushButton.QWidget)
ui.MainWindow.SetCentralWidget(ui.centralwidget) // Set central widget
ui.menubar = qt.NewQMenuBar(ui.MainWindow.QWidget)
ui.menubar.SetObjectName("menubar")
ui.menubar.Resize(800, 29)
ui.MainWindow.SetMenuBar(ui.menubar)
ui.statusbar = qt.NewQStatusBar(ui.MainWindow.QWidget)
ui.statusbar.SetObjectName("statusbar")
ui.MainWindow.SetStatusBar(ui.statusbar)
ui.Retranslate()
return ui
}
// Retranslate reapplies all text translations.
func (ui *MainWindowUi) Retranslate() {
ui.pushButton_2.SetText(qt.QWidget_Tr("PushButton"))
ui.pushButton.SetText(qt.QWidget_Tr("PushButton"))
}

View File

@ -0,0 +1,47 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>MainWindow</class>
<widget class="QMainWindow" name="MainWindow">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>800</width>
<height>600</height>
</rect>
</property>
<property name="windowTitle">
<string>MainWindow</string>
</property>
<widget class="QWidget" name="centralwidget">
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<spacer name="horizontalSpacer">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>785</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
<widget class="QMenuBar" name="menubar">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>800</width>
<height>29</height>
</rect>
</property>
</widget>
<widget class="QStatusBar" name="statusbar"/>
</widget>
<resources/>
<connections/>
</ui>

View File

@ -0,0 +1,52 @@
// Generated by miqt-uic. To update this file, edit the .ui file in
// Qt Designer, and then run 'go generate'.
//
//go:generate miqt-uic go_generate_args
package test_package_name
import (
"github.com/mappu/miqt/qt"
)
type MainWindowUi struct {
MainWindow *qt.QMainWindow
centralwidget *qt.QWidget
verticalLayout *qt.QVBoxLayout
horizontalSpacer *qt.QSpacerItem
menubar *qt.QMenuBar
statusbar *qt.QStatusBar
}
// NewMainWindowUi creates all Qt widget classes for MainWindow.
func NewMainWindowUi() *MainWindowUi {
ui := &MainWindowUi{}
ui.MainWindow = qt.NewQMainWindow(nil)
ui.MainWindow.SetObjectName("MainWindow")
ui.MainWindow.Resize(800, 600)
ui.MainWindow.SetWindowTitle("MainWindow")
ui.centralwidget = qt.NewQWidget(ui.MainWindow.QWidget)
ui.centralwidget.SetObjectName("centralwidget")
ui.verticalLayout = qt.NewQVBoxLayout(ui.centralwidget)
ui.verticalLayout.SetObjectName("verticalLayout")
ui.verticalLayout.SetContentsMargins(11, 11, 11, 11)
ui.verticalLayout.SetSpacing(6)
/* miqt-uic: no handler for spacer */
ui.MainWindow.SetCentralWidget(ui.centralwidget) // Set central widget
ui.menubar = qt.NewQMenuBar(ui.MainWindow.QWidget)
ui.menubar.SetObjectName("menubar")
ui.menubar.Resize(800, 29)
ui.MainWindow.SetMenuBar(ui.menubar)
ui.statusbar = qt.NewQStatusBar(ui.MainWindow.QWidget)
ui.statusbar.SetObjectName("statusbar")
ui.MainWindow.SetStatusBar(ui.statusbar)
ui.Retranslate()
return ui
}
// Retranslate reapplies all text translations.
func (ui *MainWindowUi) Retranslate() {
}

View File

@ -0,0 +1,45 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>MainWindow</class>
<widget class="QMainWindow" name="MainWindow">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>800</width>
<height>600</height>
</rect>
</property>
<property name="windowTitle">
<string>MainWindow</string>
</property>
<widget class="QWidget" name="centralwidget"/>
<widget class="QMenuBar" name="menubar">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>800</width>
<height>29</height>
</rect>
</property>
</widget>
<widget class="QStatusBar" name="statusbar"/>
<action name="actionApplicationExit">
<property name="checkable">
<bool>true</bool>
</property>
<property name="icon">
<iconset theme="application-exit"/>
</property>
<property name="text">
<string>ApplicationExit</string>
</property>
<property name="toolTip">
<string>Custom Tooltip</string>
</property>
</action>
</widget>
<resources/>
<connections/>
</ui>

View File

@ -0,0 +1,50 @@
// Generated by miqt-uic. To update this file, edit the .ui file in
// Qt Designer, and then run 'go generate'.
//
//go:generate miqt-uic go_generate_args
package test_package_name
import (
"github.com/mappu/miqt/qt"
)
type MainWindowUi struct {
MainWindow *qt.QMainWindow
centralwidget *qt.QWidget
menubar *qt.QMenuBar
statusbar *qt.QStatusBar
actionApplicationExit *qt.QAction
}
// NewMainWindowUi creates all Qt widget classes for MainWindow.
func NewMainWindowUi() *MainWindowUi {
ui := &MainWindowUi{}
ui.MainWindow = qt.NewQMainWindow(nil)
ui.MainWindow.SetObjectName("MainWindow")
ui.MainWindow.Resize(800, 600)
ui.MainWindow.SetWindowTitle("MainWindow")
ui.actionApplicationExit = qt.NewQAction()
ui.actionApplicationExit.SetObjectName("actionApplicationExit")
icon0 := qt.QIcon_FromTheme("application-exit")
ui.actionApplicationExit.SetIcon(icon0)
ui.centralwidget = qt.NewQWidget(ui.MainWindow.QWidget)
ui.centralwidget.SetObjectName("centralwidget")
ui.MainWindow.SetCentralWidget(ui.centralwidget) // Set central widget
ui.menubar = qt.NewQMenuBar(ui.MainWindow.QWidget)
ui.menubar.SetObjectName("menubar")
ui.menubar.Resize(800, 29)
ui.MainWindow.SetMenuBar(ui.menubar)
ui.statusbar = qt.NewQStatusBar(ui.MainWindow.QWidget)
ui.statusbar.SetObjectName("statusbar")
ui.MainWindow.SetStatusBar(ui.statusbar)
ui.Retranslate()
return ui
}
// Retranslate reapplies all text translations.
func (ui *MainWindowUi) Retranslate() {
ui.actionApplicationExit.SetText(qt.QMainWindow_Tr("ApplicationExit"))
}

View File

@ -0,0 +1,56 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>MainWindow</class>
<widget class="QMainWindow" name="MainWindow">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>800</width>
<height>600</height>
</rect>
</property>
<property name="windowTitle">
<string>MainWindow</string>
</property>
<widget class="QWidget" name="centralwidget"/>
<widget class="QMenuBar" name="menubar">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>800</width>
<height>29</height>
</rect>
</property>
<widget class="QMenu" name="menu_File">
<property name="title">
<string>&amp;File</string>
</property>
<addaction name="actionNew"/>
<addaction name="separator"/>
<addaction name="actionE_xit"/>
</widget>
<addaction name="menu_File"/>
</widget>
<widget class="QStatusBar" name="statusbar"/>
<action name="actionNew">
<property name="text">
<string>New...</string>
</property>
<property name="toolTip">
<string>Custom Tooltip for New</string>
</property>
<property name="shortcut">
<string>Ctrl+N</string>
</property>
</action>
<action name="actionE_xit">
<property name="text">
<string>E&amp;xit</string>
</property>
</action>
</widget>
<resources/>
<connections/>
</ui>

View File

@ -0,0 +1,61 @@
// Generated by miqt-uic. To update this file, edit the .ui file in
// Qt Designer, and then run 'go generate'.
//
//go:generate miqt-uic go_generate_args
package test_package_name
import (
"github.com/mappu/miqt/qt"
)
type MainWindowUi struct {
MainWindow *qt.QMainWindow
centralwidget *qt.QWidget
menubar *qt.QMenuBar
menu_File *qt.QMenu
statusbar *qt.QStatusBar
actionNew *qt.QAction
actionE_xit *qt.QAction
}
// NewMainWindowUi creates all Qt widget classes for MainWindow.
func NewMainWindowUi() *MainWindowUi {
ui := &MainWindowUi{}
ui.MainWindow = qt.NewQMainWindow(nil)
ui.MainWindow.SetObjectName("MainWindow")
ui.MainWindow.Resize(800, 600)
ui.MainWindow.SetWindowTitle("MainWindow")
ui.actionNew = qt.NewQAction()
ui.actionNew.SetObjectName("actionNew")
ui.actionE_xit = qt.NewQAction()
ui.actionE_xit.SetObjectName("actionE_xit")
ui.centralwidget = qt.NewQWidget(ui.MainWindow.QWidget)
ui.centralwidget.SetObjectName("centralwidget")
ui.MainWindow.SetCentralWidget(ui.centralwidget) // Set central widget
ui.menubar = qt.NewQMenuBar(ui.MainWindow.QWidget)
ui.menubar.SetObjectName("menubar")
ui.menubar.Resize(800, 29)
ui.menu_File = qt.NewQMenu(ui.menubar.QWidget)
ui.menu_File.SetObjectName("menu_File")
ui.menu_File.QWidget.AddAction(ui.actionNew)
ui.menu_File.AddSeparator()
ui.menu_File.QWidget.AddAction(ui.actionE_xit)
ui.menubar.AddMenu(ui.menu_File)
ui.MainWindow.SetMenuBar(ui.menubar)
ui.statusbar = qt.NewQStatusBar(ui.MainWindow.QWidget)
ui.statusbar.SetObjectName("statusbar")
ui.MainWindow.SetStatusBar(ui.statusbar)
ui.Retranslate()
return ui
}
// Retranslate reapplies all text translations.
func (ui *MainWindowUi) Retranslate() {
ui.actionNew.SetText(qt.QMainWindow_Tr("New..."))
ui.actionNew.SetShortcut(qt.NewQKeySequence2(qt.QMainWindow_Tr("Ctrl+N")))
ui.actionE_xit.SetText(qt.QMainWindow_Tr("E&xit"))
ui.menu_File.SetTitle(qt.QMenuBar_Tr("&File"))
}

View File

@ -0,0 +1,74 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>MainWindow</class>
<widget class="QMainWindow" name="MainWindow">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>800</width>
<height>600</height>
</rect>
</property>
<property name="windowTitle">
<string>MainWindow</string>
</property>
<widget class="QWidget" name="centralwidget">
<layout class="QGridLayout" name="gridLayout">
<item row="0" column="0">
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<widget class="QPushButton" name="pushButton_2">
<property name="text">
<string>top left</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="pushButton">
<property name="text">
<string>top right</string>
</property>
</widget>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_2">
<item>
<widget class="QPushButton" name="pushButton_4">
<property name="text">
<string>bottom left</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="pushButton_3">
<property name="text">
<string>bottom right</string>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</item>
</layout>
</widget>
<widget class="QMenuBar" name="menubar">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>800</width>
<height>29</height>
</rect>
</property>
</widget>
<widget class="QStatusBar" name="statusbar"/>
</widget>
<resources/>
<connections/>
</ui>

View File

@ -0,0 +1,94 @@
// Generated by miqt-uic. To update this file, edit the .ui file in
// Qt Designer, and then run 'go generate'.
//
//go:generate miqt-uic go_generate_args
package test_package_name
import (
"github.com/mappu/miqt/qt"
)
type MainWindowUi struct {
MainWindow *qt.QMainWindow
centralwidget *qt.QWidget
gridLayout *qt.QGridLayout
verticalLayout *qt.QVBoxLayout
horizontalLayout *qt.QHBoxLayout
pushButton_2 *qt.QPushButton
pushButton *qt.QPushButton
horizontalLayout_2 *qt.QHBoxLayout
pushButton_4 *qt.QPushButton
pushButton_3 *qt.QPushButton
menubar *qt.QMenuBar
statusbar *qt.QStatusBar
}
// NewMainWindowUi creates all Qt widget classes for MainWindow.
func NewMainWindowUi() *MainWindowUi {
ui := &MainWindowUi{}
ui.MainWindow = qt.NewQMainWindow(nil)
ui.MainWindow.SetObjectName("MainWindow")
ui.MainWindow.Resize(800, 600)
ui.MainWindow.SetWindowTitle("MainWindow")
ui.centralwidget = qt.NewQWidget(ui.MainWindow.QWidget)
ui.centralwidget.SetObjectName("centralwidget")
ui.gridLayout = qt.NewQGridLayout(ui.centralwidget)
ui.gridLayout.SetObjectName("gridLayout")
ui.gridLayout.SetContentsMargins(11, 11, 11, 11)
ui.gridLayout.SetSpacing(6)
ui.verticalLayout = qt.NewQVBoxLayout2()
ui.verticalLayout.SetObjectName("verticalLayout")
ui.verticalLayout.SetContentsMargins(11, 11, 11, 11)
ui.verticalLayout.SetSpacing(6)
ui.horizontalLayout = qt.NewQHBoxLayout2()
ui.horizontalLayout.SetObjectName("horizontalLayout")
ui.horizontalLayout.SetContentsMargins(11, 11, 11, 11)
ui.horizontalLayout.SetSpacing(6)
ui.pushButton_2 = qt.NewQPushButton(ui.centralwidget)
ui.pushButton_2.SetObjectName("pushButton_2")
ui.horizontalLayout.AddWidget(ui.pushButton_2.QWidget)
ui.pushButton = qt.NewQPushButton(ui.centralwidget)
ui.pushButton.SetObjectName("pushButton")
ui.horizontalLayout.AddWidget(ui.pushButton.QWidget)
ui.verticalLayout.AddLayout(ui.horizontalLayout.QLayout)
ui.horizontalLayout_2 = qt.NewQHBoxLayout2()
ui.horizontalLayout_2.SetObjectName("horizontalLayout_2")
ui.horizontalLayout_2.SetContentsMargins(11, 11, 11, 11)
ui.horizontalLayout_2.SetSpacing(6)
ui.pushButton_4 = qt.NewQPushButton(ui.centralwidget)
ui.pushButton_4.SetObjectName("pushButton_4")
ui.horizontalLayout_2.AddWidget(ui.pushButton_4.QWidget)
ui.pushButton_3 = qt.NewQPushButton(ui.centralwidget)
ui.pushButton_3.SetObjectName("pushButton_3")
ui.horizontalLayout_2.AddWidget(ui.pushButton_3.QWidget)
ui.verticalLayout.AddLayout(ui.horizontalLayout_2.QLayout)
ui.gridLayout.AddLayout(ui.verticalLayout.QLayout, 0, 0)
ui.MainWindow.SetCentralWidget(ui.centralwidget) // Set central widget
ui.menubar = qt.NewQMenuBar(ui.MainWindow.QWidget)
ui.menubar.SetObjectName("menubar")
ui.menubar.Resize(800, 29)
ui.MainWindow.SetMenuBar(ui.menubar)
ui.statusbar = qt.NewQStatusBar(ui.MainWindow.QWidget)
ui.statusbar.SetObjectName("statusbar")
ui.MainWindow.SetStatusBar(ui.statusbar)
ui.Retranslate()
return ui
}
// Retranslate reapplies all text translations.
func (ui *MainWindowUi) Retranslate() {
ui.pushButton_2.SetText(qt.QWidget_Tr("top left"))
ui.pushButton.SetText(qt.QWidget_Tr("top right"))
ui.pushButton_4.SetText(qt.QWidget_Tr("bottom left"))
ui.pushButton_3.SetText(qt.QWidget_Tr("bottom right"))
}

View File

@ -0,0 +1,102 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>MainWindow</class>
<widget class="QMainWindow" name="MainWindow">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>800</width>
<height>600</height>
</rect>
</property>
<property name="windowTitle">
<string>MainWindow</string>
</property>
<widget class="QWidget" name="centralwidget">
<layout class="QGridLayout" name="gridLayout">
<item row="1" column="0">
<widget class="QTabWidget" name="tabWidget_3">
<property name="tabPosition">
<enum>QTabWidget::West</enum>
</property>
<widget class="QWidget" name="tab_5">
<attribute name="title">
<string>Tab 1</string>
</attribute>
</widget>
<widget class="QWidget" name="tab_6">
<attribute name="title">
<string>Tab 2</string>
</attribute>
</widget>
</widget>
</item>
<item row="0" column="1">
<widget class="QTabWidget" name="tabWidget">
<property name="currentIndex">
<number>0</number>
</property>
<widget class="QWidget" name="tab">
<attribute name="title">
<string>First Tab</string>
</attribute>
</widget>
<widget class="QWidget" name="tab_2">
<attribute name="title">
<string>Second Tab</string>
</attribute>
</widget>
</widget>
</item>
<item row="2" column="1">
<widget class="QTabWidget" name="tabWidget_2">
<property name="tabPosition">
<enum>QTabWidget::South</enum>
</property>
<widget class="QWidget" name="tab_3">
<attribute name="title">
<string>Tab 1</string>
</attribute>
</widget>
<widget class="QWidget" name="tab_4">
<attribute name="title">
<string>Tab 2</string>
</attribute>
</widget>
</widget>
</item>
<item row="1" column="2">
<widget class="QTabWidget" name="tabWidget_4">
<property name="tabPosition">
<enum>QTabWidget::East</enum>
</property>
<widget class="QWidget" name="tab_7">
<attribute name="title">
<string>Tab 1</string>
</attribute>
</widget>
<widget class="QWidget" name="tab_8">
<attribute name="title">
<string>Tab 2</string>
</attribute>
</widget>
</widget>
</item>
</layout>
</widget>
<widget class="QMenuBar" name="menubar">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>800</width>
<height>29</height>
</rect>
</property>
</widget>
<widget class="QStatusBar" name="statusbar"/>
</widget>
<resources/>
<connections/>
</ui>

View File

@ -0,0 +1,114 @@
// Generated by miqt-uic. To update this file, edit the .ui file in
// Qt Designer, and then run 'go generate'.
//
//go:generate miqt-uic go_generate_args
package test_package_name
import (
"github.com/mappu/miqt/qt"
)
type MainWindowUi struct {
MainWindow *qt.QMainWindow
centralwidget *qt.QWidget
gridLayout *qt.QGridLayout
tabWidget_3 *qt.QTabWidget
tab_5 *qt.QWidget
tab_6 *qt.QWidget
tabWidget *qt.QTabWidget
tab *qt.QWidget
tab_2 *qt.QWidget
tabWidget_2 *qt.QTabWidget
tab_3 *qt.QWidget
tab_4 *qt.QWidget
tabWidget_4 *qt.QTabWidget
tab_7 *qt.QWidget
tab_8 *qt.QWidget
menubar *qt.QMenuBar
statusbar *qt.QStatusBar
}
// NewMainWindowUi creates all Qt widget classes for MainWindow.
func NewMainWindowUi() *MainWindowUi {
ui := &MainWindowUi{}
ui.MainWindow = qt.NewQMainWindow(nil)
ui.MainWindow.SetObjectName("MainWindow")
ui.MainWindow.Resize(800, 600)
ui.MainWindow.SetWindowTitle("MainWindow")
ui.centralwidget = qt.NewQWidget(ui.MainWindow.QWidget)
ui.centralwidget.SetObjectName("centralwidget")
ui.gridLayout = qt.NewQGridLayout(ui.centralwidget)
ui.gridLayout.SetObjectName("gridLayout")
ui.gridLayout.SetContentsMargins(11, 11, 11, 11)
ui.gridLayout.SetSpacing(6)
ui.tabWidget_3 = qt.NewQTabWidget(ui.centralwidget)
ui.tabWidget_3.SetObjectName("tabWidget_3")
ui.tabWidget_3.SetTabPosition(qt.QTabWidget__West)
ui.tab_5 = qt.NewQWidget(ui.tabWidget_3.QWidget)
ui.tab_5.SetObjectName("tab_5")
ui.tabWidget_3.AddTab(ui.tab_5, "")
ui.tab_6 = qt.NewQWidget(ui.tabWidget_3.QWidget)
ui.tab_6.SetObjectName("tab_6")
ui.tabWidget_3.AddTab(ui.tab_6, "")
ui.gridLayout.AddWidget2(ui.tabWidget_3.QWidget, 1, 0)
ui.tabWidget = qt.NewQTabWidget(ui.centralwidget)
ui.tabWidget.SetObjectName("tabWidget")
ui.tab = qt.NewQWidget(ui.tabWidget.QWidget)
ui.tab.SetObjectName("tab")
ui.tabWidget.AddTab(ui.tab, "")
ui.tab_2 = qt.NewQWidget(ui.tabWidget.QWidget)
ui.tab_2.SetObjectName("tab_2")
ui.tabWidget.AddTab(ui.tab_2, "")
ui.gridLayout.AddWidget2(ui.tabWidget.QWidget, 0, 1)
ui.tabWidget_2 = qt.NewQTabWidget(ui.centralwidget)
ui.tabWidget_2.SetObjectName("tabWidget_2")
ui.tabWidget_2.SetTabPosition(qt.QTabWidget__South)
ui.tab_3 = qt.NewQWidget(ui.tabWidget_2.QWidget)
ui.tab_3.SetObjectName("tab_3")
ui.tabWidget_2.AddTab(ui.tab_3, "")
ui.tab_4 = qt.NewQWidget(ui.tabWidget_2.QWidget)
ui.tab_4.SetObjectName("tab_4")
ui.tabWidget_2.AddTab(ui.tab_4, "")
ui.gridLayout.AddWidget2(ui.tabWidget_2.QWidget, 2, 1)
ui.tabWidget_4 = qt.NewQTabWidget(ui.centralwidget)
ui.tabWidget_4.SetObjectName("tabWidget_4")
ui.tabWidget_4.SetTabPosition(qt.QTabWidget__East)
ui.tab_7 = qt.NewQWidget(ui.tabWidget_4.QWidget)
ui.tab_7.SetObjectName("tab_7")
ui.tabWidget_4.AddTab(ui.tab_7, "")
ui.tab_8 = qt.NewQWidget(ui.tabWidget_4.QWidget)
ui.tab_8.SetObjectName("tab_8")
ui.tabWidget_4.AddTab(ui.tab_8, "")
ui.gridLayout.AddWidget2(ui.tabWidget_4.QWidget, 1, 2)
ui.MainWindow.SetCentralWidget(ui.centralwidget) // Set central widget
ui.menubar = qt.NewQMenuBar(ui.MainWindow.QWidget)
ui.menubar.SetObjectName("menubar")
ui.menubar.Resize(800, 29)
ui.MainWindow.SetMenuBar(ui.menubar)
ui.statusbar = qt.NewQStatusBar(ui.MainWindow.QWidget)
ui.statusbar.SetObjectName("statusbar")
ui.MainWindow.SetStatusBar(ui.statusbar)
ui.Retranslate()
ui.tabWidget.SetCurrentIndex(0)
return ui
}
// Retranslate reapplies all text translations.
func (ui *MainWindowUi) Retranslate() {
ui.tabWidget_3.SetTabText(ui.tabWidget_3.IndexOf(ui.tab_5), qt.QTabWidget_Tr("Tab 1"))
ui.tabWidget_3.SetTabText(ui.tabWidget_3.IndexOf(ui.tab_6), qt.QTabWidget_Tr("Tab 2"))
ui.tabWidget.SetTabText(ui.tabWidget.IndexOf(ui.tab), qt.QTabWidget_Tr("First Tab"))
ui.tabWidget.SetTabText(ui.tabWidget.IndexOf(ui.tab_2), qt.QTabWidget_Tr("Second Tab"))
ui.tabWidget_2.SetTabText(ui.tabWidget_2.IndexOf(ui.tab_3), qt.QTabWidget_Tr("Tab 1"))
ui.tabWidget_2.SetTabText(ui.tabWidget_2.IndexOf(ui.tab_4), qt.QTabWidget_Tr("Tab 2"))
ui.tabWidget_4.SetTabText(ui.tabWidget_4.IndexOf(ui.tab_7), qt.QTabWidget_Tr("Tab 1"))
ui.tabWidget_4.SetTabText(ui.tabWidget_4.IndexOf(ui.tab_8), qt.QTabWidget_Tr("Tab 2"))
}

View File

@ -0,0 +1,48 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>MainWindow</class>
<widget class="QMainWindow" name="MainWindow">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>800</width>
<height>600</height>
</rect>
</property>
<property name="windowTitle">
<string>MainWindow</string>
</property>
<widget class="QWidget" name="centralwidget">
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<widget class="QPushButton" name="pushButton">
<property name="text">
<string>PushButton</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="pushButton_2">
<property name="text">
<string>PushButton</string>
</property>
</widget>
</item>
</layout>
</widget>
<widget class="QMenuBar" name="menubar">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>800</width>
<height>29</height>
</rect>
</property>
</widget>
<widget class="QStatusBar" name="statusbar"/>
</widget>
<resources/>
<connections/>
</ui>

View File

@ -0,0 +1,61 @@
// Generated by miqt-uic. To update this file, edit the .ui file in
// Qt Designer, and then run 'go generate'.
//
//go:generate miqt-uic go_generate_args
package test_package_name
import (
"github.com/mappu/miqt/qt"
)
type MainWindowUi struct {
MainWindow *qt.QMainWindow
centralwidget *qt.QWidget
verticalLayout *qt.QVBoxLayout
pushButton *qt.QPushButton
pushButton_2 *qt.QPushButton
menubar *qt.QMenuBar
statusbar *qt.QStatusBar
}
// NewMainWindowUi creates all Qt widget classes for MainWindow.
func NewMainWindowUi() *MainWindowUi {
ui := &MainWindowUi{}
ui.MainWindow = qt.NewQMainWindow(nil)
ui.MainWindow.SetObjectName("MainWindow")
ui.MainWindow.Resize(800, 600)
ui.MainWindow.SetWindowTitle("MainWindow")
ui.centralwidget = qt.NewQWidget(ui.MainWindow.QWidget)
ui.centralwidget.SetObjectName("centralwidget")
ui.verticalLayout = qt.NewQVBoxLayout(ui.centralwidget)
ui.verticalLayout.SetObjectName("verticalLayout")
ui.verticalLayout.SetContentsMargins(11, 11, 11, 11)
ui.verticalLayout.SetSpacing(6)
ui.pushButton = qt.NewQPushButton(ui.centralwidget)
ui.pushButton.SetObjectName("pushButton")
ui.verticalLayout.AddWidget(ui.pushButton.QWidget)
ui.pushButton_2 = qt.NewQPushButton(ui.centralwidget)
ui.pushButton_2.SetObjectName("pushButton_2")
ui.verticalLayout.AddWidget(ui.pushButton_2.QWidget)
ui.MainWindow.SetCentralWidget(ui.centralwidget) // Set central widget
ui.menubar = qt.NewQMenuBar(ui.MainWindow.QWidget)
ui.menubar.SetObjectName("menubar")
ui.menubar.Resize(800, 29)
ui.MainWindow.SetMenuBar(ui.menubar)
ui.statusbar = qt.NewQStatusBar(ui.MainWindow.QWidget)
ui.statusbar.SetObjectName("statusbar")
ui.MainWindow.SetStatusBar(ui.statusbar)
ui.Retranslate()
return ui
}
// Retranslate reapplies all text translations.
func (ui *MainWindowUi) Retranslate() {
ui.pushButton.SetText(qt.QWidget_Tr("PushButton"))
ui.pushButton_2.SetText(qt.QWidget_Tr("PushButton"))
}

View File

@ -0,0 +1,47 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>MainWindow</class>
<widget class="QMainWindow" name="MainWindow">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>800</width>
<height>600</height>
</rect>
</property>
<property name="windowTitle">
<string>MainWindow</string>
</property>
<widget class="QWidget" name="centralwidget">
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<spacer name="verticalSpacer">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
<widget class="QMenuBar" name="menubar">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>800</width>
<height>29</height>
</rect>
</property>
</widget>
<widget class="QStatusBar" name="statusbar"/>
</widget>
<resources/>
<connections/>
</ui>

View File

@ -0,0 +1,52 @@
// Generated by miqt-uic. To update this file, edit the .ui file in
// Qt Designer, and then run 'go generate'.
//
//go:generate miqt-uic go_generate_args
package test_package_name
import (
"github.com/mappu/miqt/qt"
)
type MainWindowUi struct {
MainWindow *qt.QMainWindow
centralwidget *qt.QWidget
verticalLayout *qt.QVBoxLayout
verticalSpacer *qt.QSpacerItem
menubar *qt.QMenuBar
statusbar *qt.QStatusBar
}
// NewMainWindowUi creates all Qt widget classes for MainWindow.
func NewMainWindowUi() *MainWindowUi {
ui := &MainWindowUi{}
ui.MainWindow = qt.NewQMainWindow(nil)
ui.MainWindow.SetObjectName("MainWindow")
ui.MainWindow.Resize(800, 600)
ui.MainWindow.SetWindowTitle("MainWindow")
ui.centralwidget = qt.NewQWidget(ui.MainWindow.QWidget)
ui.centralwidget.SetObjectName("centralwidget")
ui.verticalLayout = qt.NewQVBoxLayout(ui.centralwidget)
ui.verticalLayout.SetObjectName("verticalLayout")
ui.verticalLayout.SetContentsMargins(11, 11, 11, 11)
ui.verticalLayout.SetSpacing(6)
/* miqt-uic: no handler for spacer */
ui.MainWindow.SetCentralWidget(ui.centralwidget) // Set central widget
ui.menubar = qt.NewQMenuBar(ui.MainWindow.QWidget)
ui.menubar.SetObjectName("menubar")
ui.menubar.Resize(800, 29)
ui.MainWindow.SetMenuBar(ui.menubar)
ui.statusbar = qt.NewQStatusBar(ui.MainWindow.QWidget)
ui.statusbar.SetObjectName("statusbar")
ui.MainWindow.SetStatusBar(ui.statusbar)
ui.Retranslate()
return ui
}
// Retranslate reapplies all text translations.
func (ui *MainWindowUi) Retranslate() {
}

32
cmd/miqt-uic/testdata/qt5_widget.ui vendored Normal file
View File

@ -0,0 +1,32 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>Form</class>
<widget class="QWidget" name="Form">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>400</width>
<height>300</height>
</rect>
</property>
<property name="windowTitle">
<string>Form</string>
</property>
<widget class="QLabel" name="label">
<property name="geometry">
<rect>
<x>20</x>
<y>20</y>
<width>231</width>
<height>21</height>
</rect>
</property>
<property name="text">
<string>QWidget as base class</string>
</property>
</widget>
</widget>
<resources/>
<connections/>
</ui>

View File

@ -0,0 +1,36 @@
// Generated by miqt-uic. To update this file, edit the .ui file in
// Qt Designer, and then run 'go generate'.
//
//go:generate miqt-uic go_generate_args
package test_package_name
import (
"github.com/mappu/miqt/qt"
)
type FormUi struct {
Form *qt.QWidget
label *qt.QLabel
}
// NewFormUi creates all Qt widget classes for Form.
func NewFormUi() *FormUi {
ui := &FormUi{}
ui.Form = qt.NewQWidget(nil)
ui.Form.SetObjectName("Form")
ui.Form.Resize(400, 300)
ui.Form.SetWindowTitle("Form")
ui.label = qt.NewQLabel(ui.Form)
ui.label.SetObjectName("label")
ui.label.SetGeometry(qt.NewQRect(20, 20, 231, 21))
ui.Retranslate()
return ui
}
// Retranslate reapplies all text translations.
func (ui *FormUi) Retranslate() {
ui.label.SetText(qt.QWidget_Tr("QWidget as base class"))
}

View File

@ -4,15 +4,18 @@ import (
"bytes"
"encoding/xml"
"io/ioutil"
"os"
"path/filepath"
"strings"
"testing"
)
func TestFixtureMarshalRoundtrip(t *testing.T) {
testFixture := func(fixtureFile string) {
testFixture := func(fixtureFile string, qt6 bool) {
in, err := ioutil.ReadFile(fixtureFile)
if err != nil {
t.Fatalf("ReadFile: %v", err)
t.Fatalf("ReadFile(%q): %v", fixtureFile, err)
}
in = bytes.Replace(in, []byte("\r"), []byte{}, -1) // Replace CRLF to LF
@ -37,11 +40,51 @@ func TestFixtureMarshalRoundtrip(t *testing.T) {
// Verify that the marshalled result matches the original identically,
// i.e. we did not miss any properties in our XML type definitions
if string(in) != string(ret) {
t.Errorf("Mismatch")
t.Errorf("Mismatch(%q)", fixtureFile)
t.Log(lineDiff(string(in), string(ret)))
}
if strings.HasPrefix(fixtureFile, `..`) {
return
}
// Generate Go code
goSrc, err := generate("test_package_name", "go_generate_args", parsed, qt6)
if err != nil {
t.Fatalf("Generate: %v", err)
}
fixtureExpect := fixtureFile + ".go.expected"
expectGoSrc, err := os.ReadFile(fixtureExpect)
if err != nil {
if os.IsNotExist(err) {
t.Errorf("WARNING: %q does not exist, creating for the first time", fixtureExpect)
_ = os.WriteFile(fixtureExpect, goSrc, 0644)
} else {
t.Errorf("ReadFile(%q): %v", fixtureExpect, err)
}
} else {
if string(expectGoSrc) != string(goSrc) {
t.Errorf("Mismatch(%q)", fixtureExpect)
t.Log(lineDiff(string(expectGoSrc), string(goSrc)))
}
}
}
testFixture("../../examples/uidesigner/design.ui", false)
ents, err := os.ReadDir("testdata")
if err != nil {
t.Fatal(err)
}
for _, ent := range ents {
if !strings.HasSuffix(ent.Name(), ".ui") {
continue
}
testFixture(filepath.Join("testdata", ent.Name()), strings.HasPrefix(ent.Name(), "qt6"))
}
testFixture("../../examples/uidesigner/design.ui")
}