void GuiSkillEdit::draw( class_t *p ) { newWin(); if( mSkillEditWin == NULL ) return; if( p == NULL ) return; classData = p; #ifdef D_GTK gWinPos[WIN_KIND_SKILL_EDIT].draw( WIN_KIND_SKILL_EDIT ); redraw(); #endif // D_GTK #ifdef D_MFC mSkillEditWin->DoModal(); #endif // D_MFC }
WindowManager::WindowManager() : Windows("Window"), CurWin(0){ //Settings.AntialiasingLevel = 2; // Request 2 levels of antialiasing MainWin = newWin(""); setCurWin(MainWin); }
void GuiSkillEdit::init() { newWin(); }
void GuiSkillEdit::redraw() { newWin(); if( mSkillEditWin == NULL ) return; if( classData == NULL ) return; // class name #ifdef D_GTK GtkEntry *e; e = GTK_ENTRY( mEntryName ); gtk_entry_set_text( e, classData->name ); #endif // D_GTK #ifdef D_MFC mSkillEditWin->mEditName = classData->name; #endif // D_MFC // ability for( long i = 0; i < SKILL_MAX_N; i++ ){ skill_kind_t skillKind = classData->skill[i]; const char *skillName = get_skill_name_from_kind( skillKind ); rate_t rate = calc_skill_exp_rate( classData, skillKind ); char sRate[15 + 1]; sn_printf( sRate, 15, "%ld%%", (long)rate ); #ifdef D_GTK set_label_text_button( GTK_BUTTON( mButtonSkill[i] ), skillName, 0.0, 0.5 ); gtk_label_set_text( GTK_LABEL( mLabelRate[i] ), sRate ); #endif // D_GTK #ifdef D_MFC CButton *btn = (CButton *)mSkillEditWin->GetDlgItem( IDC_SKILL_EDIT_SKILL_00 + i ); btn->SetWindowText( skillName ); CStatic *label = (CStatic *)mSkillEditWin->GetDlgItem( IDC_SKILL_EDIT_RATE_00 + i ); label->SetWindowText( sRate ); #endif // D_MFC } // hint long nSlot = -1; edit_skill_t n = get_edit_skill_n(); if( (EDIT_SKILL_A_00 <= n) && (n <= EDIT_SKILL_A_09) ) nSlot = n - EDIT_SKILL_A_00; if( (EDIT_SKILL_B_00 <= n) && (n <= EDIT_SKILL_B_09) ) nSlot = n - EDIT_SKILL_B_00 + SKILL_PER_PAGE_MAX_N; skill_kind_t mSkillKind = SKILL_KIND_NULL; if( nSlot > -1 ) mSkillKind = classData->skill[nSlot]; #ifdef D_GTK gtk_label_set_text( GTK_LABEL( mLabelHint ), get_skill_hint( mSkillKind ) ); #endif // D_GTK #ifdef D_MFC CStatic *label = (CStatic *)mSkillEditWin->GetDlgItem( IDC_SKILL_EDIT_HINT ); label->SetWindowText( get_skill_hint( mSkillKind ) ); #endif // D_MFC // ページ切り替え #ifdef D_MFC CButton *btn; btn = (CButton *)mSkillEditWin->GetDlgItem( IDC_SKILL_EDIT_PREV ); btn->SetWindowText( MSG_EDIT_CLASS_PREV ); btn = (CButton *)mSkillEditWin->GetDlgItem( IDC_SKILL_EDIT_NEXT ); btn->SetWindowText( MSG_EDIT_CLASS_NEXT ); #endif // D_MFC // end #ifdef D_MFC mSkillEditWin->UpdateData( false ); #endif // D_MFC }