@ -879,10 +879,12 @@ enum SelectCompanyManagerFaceWidgets {
SCMFW_WIDGET_ACCEPT ,
SCMFW_WIDGET_MALE ,
SCMFW_WIDGET_FEMALE ,
SCMFW_WIDGET_SEL_LOADSAVE , ///< Selection to display the load/save/number buttons in the advanced view.
SCMFW_WIDGET_SEL_MALEFEMALE , ///< Selection to display the male/female buttons in the simple view.
SCMFW_WIDGET_SEL_PARTS , ///< Selection to display the buttons for setting each part of the face in the advanced view.
SCMFW_WIDGET_RANDOM_NEW_FACE ,
SCMFW_WIDGET_TOGGLE_LARGE_SMALL_BUTTON ,
SCMFM_WIDGET_FACE ,
/* from here is the advanced company manager face selection window */
SCMFW_WIDGET_LOAD ,
SCMFW_WIDGET_FACECODE ,
SCMFW_WIDGET_SAVE ,
@ -956,12 +958,16 @@ static const NWidgetPart _nested_select_company_manager_face_widgets[] = {
NWidget ( NWID_VERTICAL ) ,
NWidget ( WWT_PUSHTXTBTN , COLOUR_GREY , SCMFW_WIDGET_TOGGLE_LARGE_SMALL_BUTTON ) , SetFill ( 1 , 0 ) , SetDataTip ( STR_FACE_ADVANCED , STR_FACE_ADVANCED_TOOLTIP ) ,
NWidget ( NWID_SPACER ) , SetMinimalSize ( 0 , 2 ) ,
NWidget ( NWID_SELECTION , INVALID_COLOUR , SCMFW_WIDGET_SEL_MALEFEMALE ) , // Simple male/female face setting.
NWidget ( NWID_VERTICAL ) ,
NWidget ( NWID_SPACER ) , SetFill ( 0 , 1 ) ,
NWidget ( WWT_TEXTBTN , COLOUR_GREY , SCMFW_WIDGET_MALE ) , SetFill ( 1 , 0 ) , SetDataTip ( STR_FACE_MALE_BUTTON , STR_FACE_MALE_TOOLTIP ) ,
NWidget ( WWT_TEXTBTN , COLOUR_GREY , SCMFW_WIDGET_FEMALE ) , SetFill ( 1 , 0 ) , SetDataTip ( STR_FACE_FEMALE_BUTTON , STR_FACE_FEMALE_TOOLTIP ) ,
NWidget ( NWID_SPACER ) , SetFill ( 0 , 1 ) ,
EndContainer ( ) ,
EndContainer ( ) ,
EndContainer ( ) ,
EndContainer ( ) ,
NWidget ( NWID_SPACER ) , SetMinimalSize ( 0 , 2 ) ,
EndContainer ( ) ,
NWidget ( NWID_HORIZONTAL , NC_EQUALSIZE ) ,
@ -988,15 +994,21 @@ static const NWidgetPart _nested_select_company_manager_face_adv_widgets[] = {
EndContainer ( ) ,
NWidget ( NWID_SPACER ) , SetMinimalSize ( 0 , 2 ) ,
NWidget ( WWT_PUSHTXTBTN , COLOUR_GREY , SCMFW_WIDGET_RANDOM_NEW_FACE ) , SetFill ( 1 , 0 ) , SetDataTip ( STR_MAPGEN_RANDOM , STR_FACE_NEW_FACE_TOOLTIP ) ,
NWidget ( NWID_SPACER ) , SetMinimalSize ( 0 , 9 ) ,
NWidget ( NWID_SELECTION , INVALID_COLOUR , SCMFW_WIDGET_SEL_LOADSAVE ) , // Load/number/save buttons under the portrait in the advanced view.
NWidget ( NWID_VERTICAL ) ,
NWidget ( NWID_SPACER ) , SetMinimalSize ( 0 , 5 ) , SetFill ( 0 , 1 ) ,
NWidget ( WWT_PUSHTXTBTN , COLOUR_GREY , SCMFW_WIDGET_LOAD ) , SetFill ( 1 , 0 ) , SetDataTip ( STR_FACE_LOAD , STR_FACE_LOAD_TOOLTIP ) ,
NWidget ( WWT_PUSHTXTBTN , COLOUR_GREY , SCMFW_WIDGET_FACECODE ) , SetFill ( 1 , 0 ) , SetDataTip ( STR_FACE_FACECODE , STR_FACE_FACECODE_TOOLTIP ) ,
NWidget ( WWT_PUSHTXTBTN , COLOUR_GREY , SCMFW_WIDGET_SAVE ) , SetFill ( 1 , 0 ) , SetDataTip ( STR_FACE_SAVE , STR_FACE_SAVE_TOOLTIP ) ,
NWidget ( NWID_SPACER ) , SetMinimalSize ( 0 , 14 ) ,
NWidget ( NWID_SPACER ) , SetMinimalSize ( 0 , 5 ) , SetFill ( 0 , 1 ) ,
EndContainer ( ) ,
EndContainer ( ) ,
EndContainer ( ) ,
NWidget ( NWID_VERTICAL ) ,
NWidget ( WWT_PUSHTXTBTN , COLOUR_GREY , SCMFW_WIDGET_TOGGLE_LARGE_SMALL_BUTTON ) , SetFill ( 1 , 0 ) , SetDataTip ( STR_FACE_SIMPLE , STR_FACE_SIMPLE_TOOLTIP ) ,
NWidget ( NWID_SPACER ) , SetMinimalSize ( 0 , 4 ) ,
NWidget ( NWID_SELECTION , INVALID_COLOUR , SCMFW_WIDGET_SEL_PARTS ) , // Advanced face parts setting.
NWidget ( NWID_VERTICAL ) ,
NWidget ( NWID_HORIZONTAL , NC_EQUALSIZE ) ,
NWidget ( WWT_TEXTBTN , COLOUR_GREY , SCMFW_WIDGET_MALE ) , SetFill ( 1 , 0 ) , SetDataTip ( STR_FACE_MALE_BUTTON , STR_FACE_MALE_TOOLTIP ) ,
NWidget ( WWT_TEXTBTN , COLOUR_GREY , SCMFW_WIDGET_FEMALE ) , SetFill ( 1 , 0 ) , SetDataTip ( STR_FACE_FEMALE_BUTTON , STR_FACE_FEMALE_TOOLTIP ) ,
@ -1079,6 +1091,8 @@ static const NWidgetPart _nested_select_company_manager_face_adv_widgets[] = {
NWidget ( NWID_SPACER ) , SetFill ( 0 , 1 ) ,
EndContainer ( ) ,
EndContainer ( ) ,
EndContainer ( ) ,
EndContainer ( ) ,
NWidget ( NWID_SPACER ) , SetMinimalSize ( 0 , 2 ) ,
EndContainer ( ) ,
NWidget ( NWID_HORIZONTAL , NC_EQUALSIZE ) ,
@ -1137,11 +1151,13 @@ class SelectCompanyManagerFaceWindow : public Window
public :
SelectCompanyManagerFaceWindow ( const WindowDesc * desc , Window * parent , bool advanced , int top , int left ) : Window ( )
{
this - > InitNested ( desc , parent - > window_number ) ;
this - > advanced = advanced ;
this - > CreateNestedTree ( desc ) ;
this - > SelectDisplayPlanes ( this - > advanced ) ;
this - > FinishInitNested ( desc , parent - > window_number ) ;
this - > parent = parent ;
this - > owner = ( Owner ) this - > window_number ;
this - > face = Company : : Get ( ( CompanyID ) this - > window_number ) - > face ;
this - > advanced = advanced ;
this - > UpdateData ( ) ;
@ -1152,6 +1168,19 @@ public:
}
}
/** Select planes to display to the user with the #NWID_SELECTION widgets #SCMFW_WIDGET_SEL_LOADSAVE, #SCMFW_WIDGET_SEL_MALEFEMALE, and #SCMFW_WIDGET_SEL_PARTS.
* @ param advanced Display advanced face management window .
*/
void SelectDisplayPlanes ( bool advanced )
{
if ( advanced ) {
this - > GetWidget < NWidgetStacked > ( SCMFW_WIDGET_SEL_LOADSAVE ) - > SetDisplayedPlane ( 0 ) ;
this - > GetWidget < NWidgetStacked > ( SCMFW_WIDGET_SEL_PARTS ) - > SetDisplayedPlane ( 0 ) ;
} else {
this - > GetWidget < NWidgetStacked > ( SCMFW_WIDGET_SEL_MALEFEMALE ) - > SetDisplayedPlane ( 0 ) ;
}
}
virtual void UpdateWidgetSize ( int widget , Dimension * size , const Dimension & padding , Dimension * fill , Dimension * resize )
{
switch ( widget ) {