本文整理汇总了C++中wxString::ToLong方法的典型用法代码示例。如果您正苦于以下问题:C++ wxString::ToLong方法的具体用法?C++ wxString::ToLong怎么用?C++ wxString::ToLong使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类wxString
的用法示例。
在下文中一共展示了wxString::ToLong方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: HandleXMLTag
bool WaveTrack::HandleXMLTag(const char *tag, const char **attrs)
{
if (!strcmp(tag, "wavetrack")) {
double dblValue;
long nValue;
while(*attrs) {
const char *attr = *attrs++;
const char *value = *attrs++;
if (!value)
break;
const wxString strValue = value;
if (!strcmp(attr, "rate"))
{
if (!XMLValueChecker::IsGoodString(strValue) ||
!Internat::CompatibleToDouble(strValue, &dblValue) ||
(dblValue < 100.0) || (dblValue > 100000.0)) // same bounds as ImportRawDialog::OnOK
return false;
mRate = dblValue;
}
else if (!strcmp(attr, "offset") &&
XMLValueChecker::IsGoodString(strValue) &&
Internat::CompatibleToDouble(strValue, &dblValue))
{
mOffset = dblValue;
mEnvelope->SetOffset(mOffset);
}
else if (!strcmp(attr, "gain") &&
XMLValueChecker::IsGoodString(strValue) &&
Internat::CompatibleToDouble(strValue, &dblValue))
mGain = dblValue;
else if (!strcmp(attr, "pan") &&
XMLValueChecker::IsGoodString(strValue) &&
Internat::CompatibleToDouble(strValue, &dblValue) &&
(dblValue >= -1.0) && (dblValue <= 1.0))
mPan = dblValue;
else if (!strcmp(attr, "name") && XMLValueChecker::IsGoodString(strValue))
mName = strValue;
else if (!strcmp(attr, "channel"))
{
if (!XMLValueChecker::IsGoodInt(strValue) || !strValue.ToLong(&nValue) ||
!XMLValueChecker::IsValidChannel(nValue))
return false;
mChannel = nValue;
}
else if (!strcmp(attr, "linked") &&
XMLValueChecker::IsGoodInt(strValue) && strValue.ToLong(&nValue))
mLinked = (nValue != 0);
} // while
return true;
}
return false;
}
示例2: HandleXMLTag
bool NoteTrack::HandleXMLTag(const wxChar *tag, const wxChar **attrs)
{
if (!wxStrcmp(tag, wxT("notetrack"))) {
while (*attrs) {
const wxChar *attr = *attrs++;
const wxChar *value = *attrs++;
if (!value)
break;
const wxString strValue = value;
long nValue;
double dblValue;
if (!wxStrcmp(attr, wxT("name")) && XMLValueChecker::IsGoodString(strValue))
mName = strValue;
else if (!wxStrcmp(attr, wxT("offset")) &&
XMLValueChecker::IsGoodString(strValue) &&
Internat::CompatibleToDouble(strValue, &dblValue))
SetOffset(dblValue);
else if (!wxStrcmp(attr, wxT("visiblechannels"))) {
if (!XMLValueChecker::IsGoodInt(strValue) ||
!strValue.ToLong(&nValue) ||
!XMLValueChecker::IsValidVisibleChannels(nValue))
return false;
mVisibleChannels = nValue;
}
else if (!wxStrcmp(attr, wxT("height")) &&
XMLValueChecker::IsGoodInt(strValue) && strValue.ToLong(&nValue))
mHeight = nValue;
else if (!wxStrcmp(attr, wxT("minimized")) &&
XMLValueChecker::IsGoodInt(strValue) && strValue.ToLong(&nValue))
mMinimized = (nValue != 0);
else if (!wxStrcmp(attr, wxT("isSelected")) &&
XMLValueChecker::IsGoodInt(strValue) && strValue.ToLong(&nValue))
this->SetSelected(nValue != 0);
#ifdef EXPERIMENTAL_MIDI_OUT
else if (!wxStrcmp(attr, wxT("velocity")) &&
XMLValueChecker::IsGoodString(strValue) &&
Internat::CompatibleToDouble(strValue, &dblValue))
mGain = (float) dblValue;
#endif
else if (!wxStrcmp(attr, wxT("bottomnote")) &&
XMLValueChecker::IsGoodInt(strValue) && strValue.ToLong(&nValue))
SetBottomNote(nValue);
else if (!wxStrcmp(attr, wxT("data"))) {
std::string s(strValue.mb_str(wxConvUTF8));
std::istringstream data(s);
mSeq = new Alg_seq(data, false);
}
} // while
return true;
}
return false;
}
示例3: HandleXMLTag
bool TimeTrack::HandleXMLTag(const wxChar *tag, const wxChar **attrs)
{
if (!wxStrcmp(tag, wxT("timetrack"))) {
mRescaleXMLValues = true; // will be set to false if upper/lower is found
long nValue;
while(*attrs) {
const wxChar *attr = *attrs++;
const wxChar *value = *attrs++;
if (!value)
break;
const wxString strValue = value;
if (!wxStrcmp(attr, wxT("name")) && XMLValueChecker::IsGoodString(strValue))
mName = strValue;
else if (!wxStrcmp(attr, wxT("height")) &&
XMLValueChecker::IsGoodInt(strValue) && strValue.ToLong(&nValue))
mHeight = nValue;
else if (!wxStrcmp(attr, wxT("minimized")) &&
XMLValueChecker::IsGoodInt(strValue) && strValue.ToLong(&nValue))
mMinimized = (nValue != 0);
else if (!wxStrcmp(attr, wxT("rangelower")))
{
mRangeLower = Internat::CompatibleToDouble(value);
mRescaleXMLValues = false;
}
else if (!wxStrcmp(attr, wxT("rangeupper")))
{
mRangeUpper = Internat::CompatibleToDouble(value);
mRescaleXMLValues = false;
}
else if (!wxStrcmp(attr, wxT("displaylog")) &&
XMLValueChecker::IsGoodInt(strValue) && strValue.ToLong(&nValue))
{
SetDisplayLog(nValue != 0);
//TODO-MB: This causes a graphical glitch, TrackPanel should probably be Refresh()ed after loading.
// I don't know where to do this though.
}
else if (!wxStrcmp(attr, wxT("interpolatelog")) &&
XMLValueChecker::IsGoodInt(strValue) && strValue.ToLong(&nValue))
{
SetInterpolateLog(nValue != 0);
}
} // while
if(mRescaleXMLValues)
mEnvelope->SetRange(0.0, 1.0); // this will be restored to the actual range later
return true;
}
return false;
}
示例4: CompareLongString
/* compare Strings that contains int/long numbers */
static int CompareLongString(const wxString& first,const wxString& second) {
long lFirst;
long lSecond;
first.ToLong(&lFirst);
second.ToLong(&lSecond);
if(lFirst < lSecond) {
return reverseCompareOrder ? 1 : -1 ;
}
if(lSecond < lFirst) {
return reverseCompareOrder ? -1 : 1 ;
}
return 0;
}
示例5: ResetWith
/////////////////////////////////////////////////////////
// Resets a value with a string, preserving current type
void VariableData::ResetWith(wxString value) {
switch (type) {
case VARDATA_INT: {
long temp = 0;
value.ToLong(&temp);
SetInt(temp);
break;
}
case VARDATA_FLOAT: {
double temp = 0;
value.ToDouble(&temp);
SetFloat(temp);
break;
}
case VARDATA_BOOL:
if (value == _T("1")) SetBool(true);
else SetBool(false);
break;
case VARDATA_COLOUR: {
long r=0,g=0,b=0;
value.Mid(1,2).ToLong(&r,16);
value.Mid(3,2).ToLong(&g,16);
value.Mid(5,2).ToLong(&b,16);
SetColour(wxColour(r,g,b));
break;
}
default:
SetText(value);
break;
}
}
示例6: SetOption
bool COptions::SetOption(unsigned int nID, wxString value)
{
if (nID >= OPTIONS_NUM)
return false;
if (options[nID].type != string)
{
long tmp;
if (!value.ToLong(&tmp))
return false;
return SetOption(nID, tmp);
}
Validate(nID, value);
m_optionsCache[nID].cached = true;
m_optionsCache[nID].strValue = value;
if (m_pXmlFile && !options[nID].internal)
{
SetXmlValue(nID, value);
if (!m_save_timer.IsRunning())
m_save_timer.Start(15000, true);
}
return true;
}
示例7: Create
OCP_DataStreamInput_Thread::OCP_DataStreamInput_Thread(DataStream *Launcher,
wxEvtHandler *MessageTarget,
const wxString& PortName,
const wxString& strBaudRate,
dsPortType io_select
)
{
m_launcher = Launcher; // This thread's immediate "parent"
m_pMessageTarget = MessageTarget;
m_PortName = PortName;
m_FullPortName = _T("Serial:") + PortName;
m_io_select = io_select;
rx_buffer = new char[DS_RX_BUFFER_SIZE + 1];
temp_buf = new char[DS_RX_BUFFER_SIZE + 1];
put_ptr = rx_buffer; // local circular queue
tak_ptr = rx_buffer;
m_baud = 4800; // default
long lbaud;
if(strBaudRate.ToLong(&lbaud))
m_baud = (int)lbaud;
Create();
}
示例8: SetOption
bool COptions::SetOption(unsigned int nID, wxString value)
{
if (nID >= OPTIONS_NUM)
return false;
if (options[nID].type != string)
{
long tmp;
if (!value.ToLong(&tmp))
return false;
return SetOption(nID, tmp);
}
Validate(nID, value);
if (m_optionsCache[nID].strValue == value)
{
// Nothing to do
return true;
}
m_optionsCache[nID].strValue = value;
if (m_pXmlFile && options[nID].flags == normal)
{
SetXmlValue(nID, value);
if (!m_save_timer.IsRunning())
m_save_timer.Start(15000, true);
}
COptionChangeEventHandler::DoNotify(nID);
return true;
}
示例9: wxString_ToLong
long wxString_ToLong(wxString const &str)
{
long value;
if(!str.ToLong(&value))
return -1;
return value;
}
示例10: SetValue
void tcBitfieldControl::SetValue(const wxString& s)
{
long val = 0;
if (s.ToLong(&val))
{
for (size_t n=0; n<checkBoxes.size(); n++)
{
bool state_n = (val & checkValues[n]) != 0;
checkBoxes[n]->SetValue(state_n);
checkBoxes[n]->Refresh();
}
tcEditControl::SetValue(s);
}
else
{
wxASSERT(false); // not an integer
for (size_t n=0; n<checkBoxes.size(); n++)
{
checkBoxes[n]->SetValue(false);
checkBoxes[n]->Refresh();
}
tcEditControl::SetValue("0");
}
}
示例11: HandleXMLTag
bool Envelope::HandleXMLTag(const wxChar *tag, const wxChar **attrs)
{
// Return unless it's the envelope tag.
if (wxStrcmp(tag, wxT("envelope")))
return false;
int numPoints = 0;
long nValue = -1;
while (*attrs) {
const wxChar *attr = *attrs++;
const wxChar *value = *attrs++;
if (!value)
break;
const wxString strValue = value;
if( !wxStrcmp(attr, wxT("numpoints")) &&
XMLValueChecker::IsGoodInt(strValue) && strValue.ToLong(&nValue))
numPoints = nValue;
}
if (numPoints < 0)
return false;
WX_CLEAR_ARRAY(mEnv);
mEnv.Alloc(numPoints);
return true;
}
示例12: BuildFromXML
/// Constructs a ODPCMAliasBlockFile from the xml output of WriteXML.
/// Does not schedule the ODPCMAliasBlockFile for OD loading. Client code must do this.
// BuildFromXML methods should always return a BlockFile, not NULL,
// even if the result is flawed (e.g., refers to nonexistent file),
// as testing will be done in DirManager::ProjectFSCK().
BlockFilePtr ODPCMAliasBlockFile::BuildFromXML(DirManager &dm, const wxChar **attrs)
{
wxFileNameWrapper summaryFileName;
wxFileNameWrapper aliasFileName;
sampleCount aliasStart = 0;
size_t aliasLen = 0;
int aliasChannel=0;
long nValue;
long long nnValue;
while(*attrs)
{
const wxChar *attr = *attrs++;
const wxChar *value = *attrs++;
if (!value)
break;
const wxString strValue = value;
if (!wxStricmp(attr, wxT("summaryfile")) &&
// Can't use XMLValueChecker::IsGoodFileName here, but do part of its test.
XMLValueChecker::IsGoodFileString(strValue) &&
(strValue.Length() + 1 + dm.GetProjectDataDir().Length() <= PLATFORM_MAX_PATH))
{
if (!dm.AssignFile(summaryFileName, strValue, false))
// Make sure summaryFileName is back to uninitialized state so we can detect problem later.
summaryFileName.Clear();
}
else if( !wxStricmp(attr, wxT("aliasfile")) )
{
if (XMLValueChecker::IsGoodPathName(strValue))
aliasFileName.Assign(strValue);
else if (XMLValueChecker::IsGoodFileName(strValue, dm.GetProjectDataDir()))
// Allow fallback of looking for the file name, located in the data directory.
aliasFileName.Assign(dm.GetProjectDataDir(), strValue);
else if (XMLValueChecker::IsGoodPathString(strValue))
// If the aliased file is missing, we failed XMLValueChecker::IsGoodPathName()
// and XMLValueChecker::IsGoodFileName, because both do existence tests,
// but we want to keep the reference to the missing file because it's a good path string.
aliasFileName.Assign(strValue);
}
else if ( !wxStricmp(attr, wxT("aliasstart")) )
{
if (XMLValueChecker::IsGoodInt64(strValue) &&
strValue.ToLongLong(&nnValue) && (nnValue >= 0))
aliasStart = nnValue;
}
else if (XMLValueChecker::IsGoodInt(strValue) && strValue.ToLong(&nValue))
{ // integer parameters
if (!wxStricmp(attr, wxT("aliaslen")) && (nValue >= 0))
aliasLen = nValue;
else if (!wxStricmp(attr, wxT("aliaschannel")) && XMLValueChecker::IsValidChannel(aliasChannel))
aliasChannel = nValue;
}
}
return make_blockfile<ODPCMAliasBlockFile>
(std::move(summaryFileName), std::move(aliasFileName),
aliasStart, aliasLen, aliasChannel, 0, 0, 0, false);
}
示例13: GetFractionalPointSize
float wxNativeFontInfo::GetFractionalPointSize() const
{
const wxString s = GetXFontComponent(wxXLFD_POINTSIZE);
// return -1 to indicate that the size is unknown
long l;
return s.ToLong(&l) ? l : -1;
}
示例14: GetSpeedFromString
long GetSpeedFromString(wxString label){
long temp;
label.Replace(_("kB/s"),wxT(""),TRUE);
label.Trim(FALSE);
label.Trim(TRUE);
label.ToLong(&temp);
return temp;
}
示例15: AssignSettingValue
void UserSettings::AssignSettingValue(int& setting, wxString value, int defaultValue) {
long tempValue;
if(!value.ToLong(&tempValue)) {
setting = defaultValue;
} else {
setting = (int)tempValue;
}
}