1 module examplewidgets.tabplaintext; 2 3 import qt.config; 4 import qt.core.coreevent; 5 import qt.helpers; 6 import qt.widgets.ui; 7 import qt.widgets.widget; 8 9 class TabPlainText : QWidget 10 { 11 mixin(Q_OBJECT_D); 12 13 public: 14 /+ explicit +/this(QWidget parent = null) 15 { 16 import core.stdcpp.new_; 17 super(parent); 18 this.ui = cpp_new!(typeof(*ui)); 19 20 ui.setupUi(this); 21 22 connect(ui.plainTextEdit.signal!"undoAvailable", ui.pushButtonUndo.slot!"setEnabled"); 23 connect(ui.plainTextEdit.signal!"redoAvailable", ui.pushButtonRedo.slot!"setEnabled"); 24 connect(ui.pushButtonUndo.signal!"clicked", ui.plainTextEdit.slot!"undo"); 25 connect(ui.pushButtonRedo.signal!"clicked", ui.plainTextEdit.slot!"redo"); 26 27 on_plainTextEdit_textChanged(); 28 } 29 ~this() 30 { 31 import core.stdcpp.new_; 32 33 cpp_delete(ui); 34 } 35 36 private /+ slots +/: 37 @QSlot final void on_plainTextEdit_textChanged() 38 { 39 if(ui.comboBoxType.currentIndex() == 0) 40 ui.textBrowser.setMarkdown(ui.plainTextEdit.toPlainText()); 41 if(ui.comboBoxType.currentIndex() == 1) 42 ui.textBrowser.setHtml(ui.plainTextEdit.toPlainText()); 43 if(ui.comboBoxType.currentIndex() == 2) 44 ui.textBrowser.setPlainText(ui.plainTextEdit.toPlainText()); 45 } 46 47 @QSlot final void on_comboBoxType_currentIndexChanged(int index) 48 { 49 on_plainTextEdit_textChanged(); 50 } 51 52 protected: 53 override extern(C++) void changeEvent(QEvent event) 54 { 55 if(event.type() == QEvent.Type.LanguageChange) 56 ui.retranslateUi(this); 57 QWidget.changeEvent(event); 58 } 59 60 private: 61 UIStruct!"tabplaintext.ui"* ui; 62 } 63