List of all members | Public Slots | Signals | Public Member Functions | Public Attributes | Protected Slots | Protected Member Functions | Protected Attributes | Static Protected Attributes
workOrder Class Reference

#include <workOrder.h>

Inheritance diagram for workOrder:
XWidget Ui::workOrder QWidget ScriptablePrivate Ui_workOrder ScriptableWidget

Public Slots

virtual void populate ()
 
virtual void populateWoNumber ()
 
virtual void sChangeParentQty ()
 
virtual void sChangeWOQty ()
 
virtual void sClose ()
 
virtual void sCloseWO ()
 
virtual void sCorrectProductionPosting ()
 
virtual void sCreate ()
 
virtual void sDeleteMatl ()
 
virtual void sDeleteWO ()
 
virtual void sDspRunningAvailability ()
 
virtual void sEditMatl ()
 
virtual SetResponse set (const ParameterList &pParams)
 
virtual void sExplodeWO ()
 
virtual void sFillList ()
 
virtual void sHandleButtons ()
 
virtual void sImplodeWO ()
 
virtual void sInventoryAvailabilityByWorkOrder ()
 
virtual void sIssueMatl ()
 
virtual void sIssueMatlBatch ()
 
virtual void sNewMatl ()
 
virtual void sNumberChanged ()
 
virtual void sPopulateItemChar (int pItemid)
 
virtual void sPopulateLeadTime (int pWarehousid)
 
virtual void sPopulateMenu (QMenu *pMenu, QTreeWidgetItem *selected)
 
virtual void sPostProduction ()
 
virtual void sPrintTraveler ()
 
virtual void sRecallWO ()
 
virtual void sReleaseWO ()
 
virtual void sReprioritizeParent ()
 
virtual void sReprioritizeWo ()
 
virtual void sRescheduleParent ()
 
virtual void sRescheduleWO ()
 
virtual void sReturnMatl ()
 
virtual void sReturnMatlBatch ()
 
virtual bool sSave ()
 
virtual void sSaveClicked ()
 
virtual void sScrapMatl ()
 
virtual void sSubstituteMatl ()
 
virtual void sUpdateStartDate ()
 
virtual void sViewMatl ()
 
virtual void sViewMatlAvailability ()
 
virtual void sViewMatlSubstituteAvailability ()
 

Signals

void newId (int)
 
void newMode (int)
 
void populated ()
 
void saved (int)
 

Public Member Functions

 workOrder (QWidget *parent=0, const char *name=0, Qt::WindowFlags fl=Qt::Window)
 
 ~workOrder ()
 
virtual Q_INVOKABLE ParameterList get () const
 
virtual Q_INVOKABLE int id () const
 
virtual Q_INVOKABLE int mode () const
 
void retranslateUi (QWidget *workOrder)
 
void setupUi (QWidget *workOrder)
 

Public Attributes

QRadioButton * _assembly
 
QGroupBox_bomGroup
 
RevisionCluster_bomRevision
 
QGroupBox_booGroup
 
RevisionCluster_booRevision
 
XLabel_bottomSpacer
 
QPushButton * _close
 
Comments_comments
 
QGroupBox_costGroup
 
QWidget_costing
 
XLabel_daysLit
 
QWidget_detailTab
 
QRadioButton * _disassembly
 
Documents_documents
 
QWidget_documentsTab
 
DLineEdit_dueDate
 
XLabel_eueDateLit
 
XCheckBox_indented
 
QGroupBox_infoGroup
 
ItemCluster_item
 
QTreeView_itemcharView
 
QGroupBox_itemGroup
 
QGroupBox_jobCosGroup
 
QSpinBox_leadTime
 
XLabel_leadTimeLit
 
XLabel_postedValue
 
XLabel_postedValueLit
 
XCheckBox_printTraveler
 
QSpinBox_priority
 
XLabel_priorityLit
 
XTextEdit_productionNotes
 
ProjectCluster_project
 
QLabel_projectLit
 
QRadioButton * _proportional
 
XLineEdit_qty
 
QGroupBox_qtyGroup
 
XLabel_qtyLit
 
XLabel_qtyReceived
 
XLabel_qtyReceivedLit
 
XLabel_rcvdValue
 
XLabel_rcvdValueLit
 
QWidget_revision
 
QPushButton * _save
 
QGroupBox_schedGroup
 
QGroupBox_showGroup
 
XCheckBox_showMaterials
 
XCheckBox_showOperations
 
DLineEdit_startDate
 
XLabel_startDateLit
 
QTabWidget * _tabs
 
QRadioButton * _todate
 
WComboBox_warehouse
 
XLabel_warehouseLit
 
XLabel_wipValue
 
XLabel_wipValueLit
 
XLabel_woCharLit
 
CharacteristicsWidget_wocharView
 
XTreeWidget_woIndentedList
 
XLabel_woItemCharLit
 
XLineEdit_woNumber
 
XLabel_woNumberLit
 
QGridLayout * gridLayout
 
QGridLayout * gridLayout1
 
QGridLayout * gridLayout10
 
QGridLayout * gridLayout11
 
QGridLayout * gridLayout12
 
QGridLayout * gridLayout13
 
QGridLayout * gridLayout14
 
QGridLayout * gridLayout15
 
QGridLayout * gridLayout2
 
QGridLayout * gridLayout3
 
QGridLayout * gridLayout4
 
QGridLayout * gridLayout5
 
QGridLayout * gridLayout6
 
QGridLayout * gridLayout7
 
QGridLayout * gridLayout8
 
QGridLayout * gridLayout9
 
QGridLayout * gridLayout_2
 
QGridLayout * gridLayout_3
 
QGridLayout * gridLayout_34
 
QHBoxLayout * hboxLayout
 
QHBoxLayout * hboxLayout1
 
QHBoxLayout * hboxLayout2
 
QHBoxLayout * hboxLayout3
 
QHBoxLayout * hboxLayout4
 
QHBoxLayout * horizontalLayout
 
QSpacerItem * horizontalSpacer
 
QWidgetitemchar
 
QSpacerItem * spacerItem
 
QSpacerItem * spacerItem1
 
QSpacerItem * spacerItem10
 
QSpacerItem * spacerItem11
 
QSpacerItem * spacerItem12
 
QSpacerItem * spacerItem2
 
QSpacerItem * spacerItem3
 
QSpacerItem * spacerItem4
 
QSpacerItem * spacerItem5
 
QSpacerItem * spacerItem6
 
QSpacerItem * spacerItem7
 
QSpacerItem * spacerItem8
 
QSpacerItem * spacerItem9
 
QWidgettab
 
QWidgetTabPage
 
QVBoxLayout * vboxLayout
 
QVBoxLayout * vboxLayout1
 
QVBoxLayout * vboxLayout2
 
QVBoxLayout * vboxLayout3
 
QVBoxLayout * vboxLayout4
 
QVBoxLayout * vboxLayout5
 
QVBoxLayout * vboxLayout6
 
QVBoxLayout * verticalLayout_3
 

Protected Slots

virtual void languageChange ()
 
virtual enum SetResponse postSet ()
 

Protected Member Functions

virtual void callCloseEvent (QEvent *)
 
virtual enum SetResponse callSet (const ParameterList &)
 
virtual void callShowEvent (QEvent *)
 
void closeEvent (QCloseEvent *event)
 
virtual QScriptEngine * engine ()
 
virtual void loadScript (const QString &oName)
 
virtual void loadScript (const QStringList &list)
 
virtual void loadScriptEngine ()
 
virtual Q_INVOKABLE bool setScriptableParams (ParameterList &)
 
void showEvent (QShowEvent *event)
 

Protected Attributes

QScriptEngineDebugger * _debugger
 
QScriptEngine * _engine
 
ParameterList _lastSetParams
 
QAction_rememberPos
 
QAction_rememberSize
 
bool _scriptLoaded
 
QWidget_self
 
QAction_showMe
 
bool _shown
 

Static Protected Attributes

static ScriptCache_cache
 
static GuiClientInterface_guiClientInterface
 

Constructor & Destructor Documentation

◆ workOrder()

workOrder::workOrder ( QWidget parent = 0,
const char *  name = 0,
Qt::WindowFlags  fl = Qt::Window 
)

◆ ~workOrder()

workOrder::~workOrder ( )

Member Function Documentation

◆ callCloseEvent()

void ScriptablePrivate::callCloseEvent ( QEvent *  event)
virtualinherited

◆ callSet()

enum SetResponse ScriptablePrivate::callSet ( const ParameterList &  params)
virtualinherited

◆ callShowEvent()

void ScriptablePrivate::callShowEvent ( QEvent *  event)
virtualinherited

◆ closeEvent()

void XWidget::closeEvent ( QCloseEvent *  event)
protectedinherited

◆ engine()

QScriptEngine * ScriptablePrivate::engine ( )
virtualinherited

Reimplemented from ScriptableWidget.

◆ get()

ParameterList XWidget::get ( ) const
virtualinherited

Implements ScriptablePrivate.

◆ id()

int workOrder::id ( ) const
virtual

◆ languageChange

void workOrder::languageChange ( )
protectedvirtualslot

◆ loadScript() [1/2]

void ScriptableWidget::loadScript ( const QString &  oName)
virtualinherited

◆ loadScript() [2/2]

void ScriptableWidget::loadScript ( const QStringList &  list)
virtualinherited

◆ loadScriptEngine()

void ScriptableWidget::loadScriptEngine ( )
virtualinherited

◆ mode()

int workOrder::mode ( ) const
virtual
Returns
one of cNew, cEdit, cView, ...
Todo:
change possible modes to an enum in guiclient.h (and add cUnknown?)

◆ newId

void workOrder::newId ( int  )
signal

◆ newMode

void workOrder::newMode ( int  )
signal

◆ populate

void workOrder::populate ( )
virtualslot

◆ populated

void workOrder::populated ( )
signal

◆ populateWoNumber

void workOrder::populateWoNumber ( )
virtualslot

◆ postSet

enum SetResponse XWidget::postSet ( )
protectedvirtualslotinherited

◆ retranslateUi()

void Ui_workOrder::retranslateUi ( QWidget workOrder)
inlineinherited

◆ saved

void workOrder::saved ( int  )
signal

◆ sChangeParentQty

void workOrder::sChangeParentQty ( )
virtualslot

◆ sChangeWOQty

void workOrder::sChangeWOQty ( )
virtualslot

◆ sClose

void workOrder::sClose ( )
virtualslot

◆ sCloseWO

void workOrder::sCloseWO ( )
virtualslot

◆ sCorrectProductionPosting

void workOrder::sCorrectProductionPosting ( )
virtualslot

◆ sCreate

void workOrder::sCreate ( )
virtualslot

◆ sDeleteMatl

void workOrder::sDeleteMatl ( )
virtualslot

◆ sDeleteWO

void workOrder::sDeleteWO ( )
virtualslot

◆ sDspRunningAvailability

void workOrder::sDspRunningAvailability ( )
virtualslot

◆ sEditMatl

void workOrder::sEditMatl ( )
virtualslot

◆ set

enum SetResponse workOrder::set ( const ParameterList &  pParams)
virtualslot

◆ setScriptableParams()

bool ScriptableWidget::setScriptableParams ( ParameterList &  params)
virtualinherited

◆ setupUi()

void Ui_workOrder::setupUi ( QWidget workOrder)
inlineinherited

◆ sExplodeWO

void workOrder::sExplodeWO ( )
virtualslot

◆ sFillList

void workOrder::sFillList ( )
virtualslot

◆ sHandleButtons

void workOrder::sHandleButtons ( )
virtualslot

◆ showEvent()

void XWidget::showEvent ( QShowEvent *  event)
protectedinherited

◆ sImplodeWO

void workOrder::sImplodeWO ( )
virtualslot

◆ sInventoryAvailabilityByWorkOrder

void workOrder::sInventoryAvailabilityByWorkOrder ( )
virtualslot

◆ sIssueMatl

void workOrder::sIssueMatl ( )
virtualslot

◆ sIssueMatlBatch

void workOrder::sIssueMatlBatch ( )
virtualslot

◆ sNewMatl

void workOrder::sNewMatl ( )
virtualslot

◆ sNumberChanged

void workOrder::sNumberChanged ( )
virtualslot

◆ sPopulateItemChar

void workOrder::sPopulateItemChar ( int  pItemid)
virtualslot

◆ sPopulateLeadTime

void workOrder::sPopulateLeadTime ( int  pWarehousid)
virtualslot

◆ sPopulateMenu

void workOrder::sPopulateMenu ( QMenu *  pMenu,
QTreeWidgetItem selected 
)
virtualslot

◆ sPostProduction

void workOrder::sPostProduction ( )
virtualslot

◆ sPrintTraveler

void workOrder::sPrintTraveler ( )
virtualslot

◆ sRecallWO

void workOrder::sRecallWO ( )
virtualslot

◆ sReleaseWO

void workOrder::sReleaseWO ( )
virtualslot

◆ sReprioritizeParent

void workOrder::sReprioritizeParent ( )
virtualslot

◆ sReprioritizeWo

void workOrder::sReprioritizeWo ( )
virtualslot

◆ sRescheduleParent

void workOrder::sRescheduleParent ( )
virtualslot

◆ sRescheduleWO

void workOrder::sRescheduleWO ( )
virtualslot

◆ sReturnMatl

void workOrder::sReturnMatl ( )
virtualslot

◆ sReturnMatlBatch

void workOrder::sReturnMatlBatch ( )
virtualslot

◆ sSave

bool workOrder::sSave ( )
virtualslot

◆ sSaveClicked

void workOrder::sSaveClicked ( )
virtualslot

◆ sScrapMatl

void workOrder::sScrapMatl ( )
virtualslot

◆ sSubstituteMatl

void workOrder::sSubstituteMatl ( )
virtualslot

◆ sUpdateStartDate

void workOrder::sUpdateStartDate ( )
virtualslot

◆ sViewMatl

void workOrder::sViewMatl ( )
virtualslot

◆ sViewMatlAvailability

void workOrder::sViewMatlAvailability ( )
virtualslot

◆ sViewMatlSubstituteAvailability

void workOrder::sViewMatlSubstituteAvailability ( )
virtualslot

Member Data Documentation

◆ _assembly

QRadioButton* Ui_workOrder::_assembly
inherited

◆ _bomGroup

QGroupBox* Ui_workOrder::_bomGroup
inherited

◆ _bomRevision

RevisionCluster* Ui_workOrder::_bomRevision
inherited

◆ _booGroup

QGroupBox* Ui_workOrder::_booGroup
inherited

◆ _booRevision

RevisionCluster* Ui_workOrder::_booRevision
inherited

◆ _bottomSpacer

XLabel* Ui_workOrder::_bottomSpacer
inherited

◆ _cache

ScriptCache * ScriptableWidget::_cache
staticprotectedinherited

◆ _close

QPushButton* Ui_workOrder::_close
inherited

◆ _comments

Comments* Ui_workOrder::_comments
inherited

◆ _costGroup

QGroupBox* Ui_workOrder::_costGroup
inherited

◆ _costing

QWidget* Ui_workOrder::_costing
inherited

◆ _daysLit

XLabel* Ui_workOrder::_daysLit
inherited

◆ _debugger

QScriptEngineDebugger* ScriptableWidget::_debugger
protectedinherited

◆ _detailTab

QWidget* Ui_workOrder::_detailTab
inherited

◆ _disassembly

QRadioButton* Ui_workOrder::_disassembly
inherited

◆ _documents

Documents* Ui_workOrder::_documents
inherited

◆ _documentsTab

QWidget* Ui_workOrder::_documentsTab
inherited

◆ _dueDate

DLineEdit* Ui_workOrder::_dueDate
inherited

◆ _engine

QScriptEngine* ScriptableWidget::_engine
protectedinherited

◆ _eueDateLit

XLabel* Ui_workOrder::_eueDateLit
inherited

◆ _guiClientInterface

GuiClientInterface * ScriptableWidget::_guiClientInterface
staticinherited

◆ _indented

XCheckBox* Ui_workOrder::_indented
inherited

◆ _infoGroup

QGroupBox* Ui_workOrder::_infoGroup
inherited

◆ _item

ItemCluster* Ui_workOrder::_item
inherited

◆ _itemcharView

QTreeView* Ui_workOrder::_itemcharView
inherited

◆ _itemGroup

QGroupBox* Ui_workOrder::_itemGroup
inherited

◆ _jobCosGroup

QGroupBox* Ui_workOrder::_jobCosGroup
inherited

◆ _lastSetParams

ParameterList ScriptablePrivate::_lastSetParams
inherited

◆ _leadTime

QSpinBox* Ui_workOrder::_leadTime
inherited

◆ _leadTimeLit

XLabel* Ui_workOrder::_leadTimeLit
inherited

◆ _postedValue

XLabel* Ui_workOrder::_postedValue
inherited

◆ _postedValueLit

XLabel* Ui_workOrder::_postedValueLit
inherited

◆ _printTraveler

XCheckBox* Ui_workOrder::_printTraveler
inherited

◆ _priority

QSpinBox* Ui_workOrder::_priority
inherited

◆ _priorityLit

XLabel* Ui_workOrder::_priorityLit
inherited

◆ _productionNotes

XTextEdit* Ui_workOrder::_productionNotes
inherited

◆ _project

ProjectCluster* Ui_workOrder::_project
inherited

◆ _projectLit

QLabel* Ui_workOrder::_projectLit
inherited

◆ _proportional

QRadioButton* Ui_workOrder::_proportional
inherited

◆ _qty

XLineEdit* Ui_workOrder::_qty
inherited

◆ _qtyGroup

QGroupBox* Ui_workOrder::_qtyGroup
inherited

◆ _qtyLit

XLabel* Ui_workOrder::_qtyLit
inherited

◆ _qtyReceived

XLabel* Ui_workOrder::_qtyReceived
inherited

◆ _qtyReceivedLit

XLabel* Ui_workOrder::_qtyReceivedLit
inherited

◆ _rcvdValue

XLabel* Ui_workOrder::_rcvdValue
inherited

◆ _rcvdValueLit

XLabel* Ui_workOrder::_rcvdValueLit
inherited

◆ _rememberPos

QAction* ScriptablePrivate::_rememberPos
inherited

◆ _rememberSize

QAction* ScriptablePrivate::_rememberSize
inherited

◆ _revision

QWidget* Ui_workOrder::_revision
inherited

◆ _save

QPushButton* Ui_workOrder::_save
inherited

◆ _schedGroup

QGroupBox* Ui_workOrder::_schedGroup
inherited

◆ _scriptLoaded

bool ScriptableWidget::_scriptLoaded
protectedinherited

◆ _self

QWidget* ScriptableWidget::_self
protectedinherited

◆ _showGroup

QGroupBox* Ui_workOrder::_showGroup
inherited

◆ _showMaterials

XCheckBox* Ui_workOrder::_showMaterials
inherited

◆ _showMe

QAction* ScriptablePrivate::_showMe
inherited

◆ _shown

bool ScriptablePrivate::_shown
inherited

◆ _showOperations

XCheckBox* Ui_workOrder::_showOperations
inherited

◆ _startDate

DLineEdit* Ui_workOrder::_startDate
inherited

◆ _startDateLit

XLabel* Ui_workOrder::_startDateLit
inherited

◆ _tabs

QTabWidget* Ui_workOrder::_tabs
inherited

◆ _todate

QRadioButton* Ui_workOrder::_todate
inherited

◆ _warehouse

WComboBox* Ui_workOrder::_warehouse
inherited

◆ _warehouseLit

XLabel* Ui_workOrder::_warehouseLit
inherited

◆ _wipValue

XLabel* Ui_workOrder::_wipValue
inherited

◆ _wipValueLit

XLabel* Ui_workOrder::_wipValueLit
inherited

◆ _woCharLit

XLabel* Ui_workOrder::_woCharLit
inherited

◆ _wocharView

CharacteristicsWidget* Ui_workOrder::_wocharView
inherited

◆ _woIndentedList

XTreeWidget* Ui_workOrder::_woIndentedList
inherited

◆ _woItemCharLit

XLabel* Ui_workOrder::_woItemCharLit
inherited

◆ _woNumber

XLineEdit* Ui_workOrder::_woNumber
inherited

◆ _woNumberLit

XLabel* Ui_workOrder::_woNumberLit
inherited

◆ gridLayout

QGridLayout* Ui_workOrder::gridLayout
inherited

◆ gridLayout1

QGridLayout* Ui_workOrder::gridLayout1
inherited

◆ gridLayout10

QGridLayout* Ui_workOrder::gridLayout10
inherited

◆ gridLayout11

QGridLayout* Ui_workOrder::gridLayout11
inherited

◆ gridLayout12

QGridLayout* Ui_workOrder::gridLayout12
inherited

◆ gridLayout13

QGridLayout* Ui_workOrder::gridLayout13
inherited

◆ gridLayout14

QGridLayout* Ui_workOrder::gridLayout14
inherited

◆ gridLayout15

QGridLayout* Ui_workOrder::gridLayout15
inherited

◆ gridLayout2

QGridLayout* Ui_workOrder::gridLayout2
inherited

◆ gridLayout3

QGridLayout* Ui_workOrder::gridLayout3
inherited

◆ gridLayout4

QGridLayout* Ui_workOrder::gridLayout4
inherited

◆ gridLayout5

QGridLayout* Ui_workOrder::gridLayout5
inherited

◆ gridLayout6

QGridLayout* Ui_workOrder::gridLayout6
inherited

◆ gridLayout7

QGridLayout* Ui_workOrder::gridLayout7
inherited

◆ gridLayout8

QGridLayout* Ui_workOrder::gridLayout8
inherited

◆ gridLayout9

QGridLayout* Ui_workOrder::gridLayout9
inherited

◆ gridLayout_2

QGridLayout* Ui_workOrder::gridLayout_2
inherited

◆ gridLayout_3

QGridLayout* Ui_workOrder::gridLayout_3
inherited

◆ gridLayout_34

QGridLayout* Ui_workOrder::gridLayout_34
inherited

◆ hboxLayout

QHBoxLayout* Ui_workOrder::hboxLayout
inherited

◆ hboxLayout1

QHBoxLayout* Ui_workOrder::hboxLayout1
inherited

◆ hboxLayout2

QHBoxLayout* Ui_workOrder::hboxLayout2
inherited

◆ hboxLayout3

QHBoxLayout* Ui_workOrder::hboxLayout3
inherited

◆ hboxLayout4

QHBoxLayout* Ui_workOrder::hboxLayout4
inherited

◆ horizontalLayout

QHBoxLayout* Ui_workOrder::horizontalLayout
inherited

◆ horizontalSpacer

QSpacerItem* Ui_workOrder::horizontalSpacer
inherited

◆ itemchar

QWidget* Ui_workOrder::itemchar
inherited

◆ spacerItem

QSpacerItem* Ui_workOrder::spacerItem
inherited

◆ spacerItem1

QSpacerItem* Ui_workOrder::spacerItem1
inherited

◆ spacerItem10

QSpacerItem* Ui_workOrder::spacerItem10
inherited

◆ spacerItem11

QSpacerItem* Ui_workOrder::spacerItem11
inherited

◆ spacerItem12

QSpacerItem* Ui_workOrder::spacerItem12
inherited

◆ spacerItem2

QSpacerItem* Ui_workOrder::spacerItem2
inherited

◆ spacerItem3

QSpacerItem* Ui_workOrder::spacerItem3
inherited

◆ spacerItem4

QSpacerItem* Ui_workOrder::spacerItem4
inherited

◆ spacerItem5

QSpacerItem* Ui_workOrder::spacerItem5
inherited

◆ spacerItem6

QSpacerItem* Ui_workOrder::spacerItem6
inherited

◆ spacerItem7

QSpacerItem* Ui_workOrder::spacerItem7
inherited

◆ spacerItem8

QSpacerItem* Ui_workOrder::spacerItem8
inherited

◆ spacerItem9

QSpacerItem* Ui_workOrder::spacerItem9
inherited

◆ tab

QWidget* Ui_workOrder::tab
inherited

◆ TabPage

QWidget* Ui_workOrder::TabPage
inherited

◆ vboxLayout

QVBoxLayout* Ui_workOrder::vboxLayout
inherited

◆ vboxLayout1

QVBoxLayout* Ui_workOrder::vboxLayout1
inherited

◆ vboxLayout2

QVBoxLayout* Ui_workOrder::vboxLayout2
inherited

◆ vboxLayout3

QVBoxLayout* Ui_workOrder::vboxLayout3
inherited

◆ vboxLayout4

QVBoxLayout* Ui_workOrder::vboxLayout4
inherited

◆ vboxLayout5

QVBoxLayout* Ui_workOrder::vboxLayout5
inherited

◆ vboxLayout6

QVBoxLayout* Ui_workOrder::vboxLayout6
inherited

◆ verticalLayout_3

QVBoxLayout* Ui_workOrder::verticalLayout_3
inherited

The documentation for this class was generated from the following files:

Generated on Mon May 3 2021 xTuple ERP Programmer Reference, Version 4.12.0 doxygen 1.8.17