void CGUIRadioButtonControl::SetRadioDimensions(float posX, float posY, float width, float height) { m_radioPosX = posX; m_radioPosY = posY; if (width) { m_imgRadioOnFocus.SetWidth(width); m_imgRadioOnNoFocus.SetWidth(width); m_imgRadioOffFocus.SetWidth(width); m_imgRadioOffNoFocus.SetWidth(width); m_imgRadioOnDisabled.SetWidth(width); m_imgRadioOffDisabled.SetWidth(width); } if (height) { m_imgRadioOnFocus.SetHeight(height); m_imgRadioOnNoFocus.SetHeight(height); m_imgRadioOffFocus.SetHeight(height); m_imgRadioOffNoFocus.SetHeight(height); m_imgRadioOnDisabled.SetHeight(height); m_imgRadioOffDisabled.SetHeight(height); } // use label2 to display the button value in case no // dimensions were specified and there's no label2 yet. if (GetLabel2().empty() && !width && !height) m_useLabel2 = true; SetPosition(GetXPosition(), GetYPosition()); }
bool CGUIEditControl::OnMessage(CGUIMessage &message) { if (message.GetMessage() == GUI_MSG_SET_TYPE) { SetInputType((INPUT_TYPE)message.GetParam1(), (int)message.GetParam2()); return true; } else if (message.GetMessage() == GUI_MSG_ITEM_SELECTED) { message.SetLabel(GetLabel2()); return true; } else if (message.GetMessage() == GUI_MSG_SET_TEXT && ((message.GetControlId() <= 0 && HasFocus()) || (message.GetControlId() == GetID()))) { SetLabel2(message.GetLabel()); UpdateText(); } else if (message.GetMessage() == GUI_MSG_INPUT_TEXT_EDIT && HasFocus()) { g_charsetConverter.utf8ToW(message.GetLabel(), m_edit); m_editOffset = message.GetParam1(); m_editLength = message.GetParam2(); UpdateText(false); return true; } return CGUIButtonControl::OnMessage(message); }
bool CGUIEditControl::ValidateInput(const std::wstring &data) const { if (m_inputValidator == NULL) return true; return m_inputValidator(GetLabel2(), (void*)(m_inputValidatorData != NULL ? m_inputValidatorData : this)); }
std::string CGUIEditControl::GetDescriptionByIndex(int index) const { if (index == 0) return GetDescription(); else if(index == 1) return GetLabel2(); return ""; }
int ConvertData2(FILE *readdata_file, InputData *inputlist, TrafficRecord *traffic_record){ double avesum = 0; // 最初のデータを生成するのに必要なトラフィック履歴を取得 for(int j=0; j<exparam.necessary_record; j++){ traffic_record[exparam.record_pointer].traffic = GetTraffic(readdata_file); exparam.record_pointer++; } // 0番目の入力ベクトルは必要ない(real_traffic,real_level,base_levelがあればよい) //0番目のデータ設定 inputlist[0].real_traffic = GetTraffic(readdata_file); inputlist[0].record_index = exparam.record_pointer; inputlist[0].base_level = GetBaseLevel(inputlist[0].real_traffic); routerstate.level = inputlist[0].base_level; inputlist[0].real_level = routerstate.level; //TrafficRecord設定 traffic_record[exparam.record_pointer].traffic = inputlist[0].real_traffic; traffic_record[exparam.record_pointer].base_level = inputlist[0].base_level; traffic_record[exparam.record_pointer].real_level = inputlist[0].real_level; //inputlist[0].labelの設定 inputlist[0].label[0] = 0; inputlist[0].label[1] = -1; inputlist[0].answer = -1; routerstate.base_level = (int)exparam.maxlevel; // traffic_recordをスライド exparam.record_pointer++; // トレーニングデータセットを用意 int k = 1; subcounter = exparam.sleep; while (k < exparam.data_length){ subcounter++; //入力ベクトル設定部分 SetInputVector(&inputlist[k], &inputlist[k-1], traffic_record); //inputlist[k]の設定 inputlist[k].real_traffic = GetTraffic(readdata_file); inputlist[k].record_index = exparam.record_pointer; if (k > exparam.sleep){ inputlist[k].base_level = GetBaseLevel2(inputlist[k].record_index, traffic_record); } else{ inputlist[k].base_level = GetBaseLevel(inputlist[k].real_traffic); } inputlist[k].real_level = routerstate.level; //TrafficRecord設定 traffic_record[exparam.record_pointer].traffic = inputlist[k].real_traffic; traffic_record[exparam.record_pointer].base_level = inputlist[k].base_level; traffic_record[exparam.record_pointer].real_level = inputlist[k].real_level; //inputlist[k].labelの設定(予測時はわからないよ) if (k > exparam.sleep){ // label設定 GetLabel2(&inputlist[k-exparam.sleep], inputlist, traffic_record); // ideal_level設定 inputlist[k-exparam.sleep].ideal_level = inputlist[k].base_level; traffic_record[inputlist[exparam.trainnum].record_index].ideal_level = inputlist[exparam.trainnum].ideal_level; routerstate.base_level = inputlist[k].base_level; if (subcounter >= exparam.sleep){ routerstate.level = routerstate.base_level + inputlist[k].label[0] + inputlist[k].label[1]; subcounter = 0; } } // traffic_recordをスライド exparam.record_pointer++; #ifdef RECORD // WriteTrfRecFile(&traffic_record[k], recorddata_file); #endif k++; } return 0; }