本文整理汇总了C++中wxPropertyGridEvent::GetPropertyValue方法的典型用法代码示例。如果您正苦于以下问题:C++ wxPropertyGridEvent::GetPropertyValue方法的具体用法?C++ wxPropertyGridEvent::GetPropertyValue怎么用?C++ wxPropertyGridEvent::GetPropertyValue使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类wxPropertyGridEvent
的用法示例。
在下文中一共展示了wxPropertyGridEvent::GetPropertyValue方法的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: OnPropGridChanged
void SDRDevicesDialog::OnPropGridChanged( wxPropertyGridEvent& event ) {
if (!editId) {
return;
}
SDRDeviceInfo *dev = getSelectedDevice(editId);
if (editId && event.GetProperty() == devSettings["name"]) {
DeviceConfig *devConfig = wxGetApp().getConfig()->getDevice(dev->getDeviceId());
wxString devName = event.GetPropertyValue().GetString();
devConfig->setDeviceName(devName.ToStdString());
if (editId) {
devTree->SetItemText(editId, devConfig->getDeviceName());
}
if (devName == "") {
event.GetProperty()->SetValueFromString(devConfig->getDeviceName());
}
}
if (dev && event.GetProperty() == devSettings["offset"]) {
DeviceConfig *devConfig = wxGetApp().getConfig()->getDevice(dev->getDeviceId());
long offset = event.GetPropertyValue().GetInteger();
devConfig->setOffset(offset);
}
}
示例2: OnPropertyGridChange
int ArchesModel::OnPropertyGridChange(wxPropertyGridInterface *grid, wxPropertyGridEvent& event) {
if ("ArchesCount" == event.GetPropertyName()) {
ModelXml->DeleteAttribute("parm1");
ModelXml->AddAttribute("parm1", wxString::Format("%d", event.GetPropertyValue().GetLong()));
SetFromXml(ModelXml, zeroBased);
AdjustStringProperties(grid, parm1);
return 3;
} else if ("ArchesNodes" == event.GetPropertyName()) {
ModelXml->DeleteAttribute("parm2");
ModelXml->AddAttribute("parm2", wxString::Format("%d", event.GetPropertyValue().GetLong()));
SetFromXml(ModelXml, zeroBased);
return 3;
} else if ("ArchesLights" == event.GetPropertyName()) {
ModelXml->DeleteAttribute("parm3");
ModelXml->AddAttribute("parm3", wxString::Format("%d", event.GetPropertyValue().GetLong()));
SetFromXml(ModelXml, zeroBased);
return 3;
} else if ("ArchesArc" == event.GetPropertyName()) {
ModelXml->DeleteAttribute("arc");
ModelXml->AddAttribute("arc", wxString::Format("%d", event.GetPropertyValue().GetLong()));
SetFromXml(ModelXml, zeroBased);
return 3;
} else if ("ArchesStart" == event.GetPropertyName()) {
ModelXml->DeleteAttribute("Dir");
ModelXml->AddAttribute("Dir", event.GetValue().GetLong() == 0 ? "L" : "R");
SetFromXml(ModelXml, zeroBased);
return 3;
}
return Model::OnPropertyGridChange(grid, event);
}
示例3: OnPropertyChanged
bool ObjectsPropgridHelper::OnPropertyChanged(gd::Object * object, gd::Layout * layout, wxPropertyGridEvent& event)
{
if ( !grid || !object ) return false;
auto readEnumPropertyString = [&event](std::map<gd::String, gd::PropertyDescriptor> properties) {
const std::vector<gd::String> & choices = properties[event.GetProperty()->GetLabel()].GetExtraInfo();
unsigned int id = event.GetPropertyValue().GetLong();
if (id < choices.size()) {
return gd::String(choices[id]);
}
return gd::String("");
};
if ( event.GetPropertyName().substr(0,10) == "AUTO_PROP:" )
{
gd::String autoName = event.GetPropertyName().substr(10);
if ( !object->HasBehaviorNamed(autoName))
{
event.Veto();
return false;
}
gd::Behavior & behavior = object->GetBehavior(autoName);
gd::String value = event.GetPropertyValue().GetString();
//Special case for enums.
if (wxEnumProperty * enumProperty = dynamic_cast<wxEnumProperty*>(event.GetProperty()))
value = readEnumPropertyString(behavior.GetProperties(project));
if (!behavior.UpdateProperty(event.GetProperty()->GetLabel(), value, project))
{
event.Veto();
return false;
}
}
else if ( event.GetPropertyName().substr(0,8) == "OBJ_PROP" )
{
gd::String value = event.GetPropertyValue().GetString();
//Special case for enums.
if (wxEnumProperty * enumProperty = dynamic_cast<wxEnumProperty*>(event.GetProperty()))
value = readEnumPropertyString(object->GetProperties(project));
if (!object->UpdateProperty(event.GetProperty()->GetLabel(), value, project))
{
event.Veto();
return false;
}
}
return false;
}
示例4: OnPropertyChanged
void ProjectWindow::OnPropertyChanged( wxPropertyGridEvent& evt )
{
if (!mSelectedAssetDef || !mSelectedAsset)
return;
wxString name = evt.GetPropertyName();
wxVariant val = evt.GetPropertyValue();
wxString strVal = val.GetString();
if (name.StartsWith("TextureAsset"))
{
long intVal = val.GetInteger();
//strVal = mTextureAssetChoices.GetLabel(intVal);
}
// Set Value.
mSelectedAsset->setDataField(Torque::StringTableLink->insert(name), NULL, strVal);
// Save the asset
mSelectedAsset->saveAsset();
// Refresh textures if it's a MaterialAsset.
if (mSelectedMaterialAsset)
mSelectedMaterialAsset->loadTextures();
// Refresh Scene.
Torque::Scene.refresh();
// Reload object properties.
mAssetsInspector->Inspect(mSelectedAssetDef);
}
示例5: OnChange
//-----------------------------------------------------------------------------
void Property::OnChange (wxPropertyGridEvent &event)
{
wxPGProperty *id = event.GetProperty();
PX2_UNUSED(id);
const wxString &name = event.GetPropertyName();
std::string stdName = std::string(name);
wxVariant variant = event.GetPropertyValue();
if (name != wxString(mName.c_str()))
return;
if (variant.IsNull())
return;
if (!mData)
return;
if (mType == PT_INT)
{
*((int*)mData) = wxPGVariantToInt(variant);
}
else if (mType == PT_FLOAT)
{
double value = 0;
wxPGVariantToDouble(variant, &value);
*((float*)mData) = (float)value;
}
else if (mType == PT_BOOL)
{
bool value = (bool)(event.GetPropertyValueAsBool()!=0);
*((bool*)mData) = value;
}
else if (mType == PT_BOOLCHECK)
{
bool value = (bool)(event.GetPropertyValueAsBool()!=0);
*((bool*)mData) = value;
}
else if (PT_COLOR3FLOAT3 == mType)
{
wxString strColor = event.GetPropertyValueAsString();
wxColor color = StringToColor(strColor);
Float3 float3Color((float)color.Red()/255.0f, (float)color.Green()/255.0f,
(float)color.Blue()/255.0f);
*((Float3*)mData) = float3Color;
}
else if (PT_FLOAT3 == mType)
{
*((Float3*)mData) = Float3FromVariant(variant);
}
else if (mType == PT_STRING)
{
std::string value;
wxString wxValue = event.GetPropertyValueAsString();
value = std::string(wxValue.ToAscii());
*((std::string*)mData) = value;
}
}
示例6: OnPropGridChanged
void SDRDevicesDialog::OnPropGridChanged( wxPropertyGridEvent& event ) {
if (editId && event.GetProperty() == devSettings["name"]) {
DeviceConfig *devConfig = wxGetApp().getConfig()->getDevice(dev->getDeviceId());
wxString devName = event.GetPropertyValue().GetString();
devConfig->setDeviceName(devName.ToStdString());
if (editId) {
devTree->SetItemText(editId, devConfig->getDeviceName());
}
if (devName == "") {
event.GetProperty()->SetValueFromString(devConfig->getDeviceName());
}
} else if (dev && event.GetProperty() == devSettings["offset"]) {
DeviceConfig *devConfig = wxGetApp().getConfig()->getDevice(dev->getDeviceId());
long offset = event.GetPropertyValue().GetInteger();
devConfig->setOffset(offset);
} else if (editId && dev) {
wxPGProperty *prop = event.GetProperty();
for (std::map<std::string, wxPGProperty *>::iterator rtp = runtimeProps.begin(); rtp != runtimeProps.end(); rtp++) {
if (rtp->second == prop) {
SoapySDR::Device *soapyDev = dev->getSoapyDevice();
std::string settingValue = prop->GetValueAsString().ToStdString();
SoapySDR::ArgInfo arg = runtimeArgs[rtp->first];
if (arg.type == SoapySDR::ArgInfo::STRING && arg.options.size()) {
settingValue = arg.options[prop->GetChoiceSelection()];
} else if (arg.type == SoapySDR::ArgInfo::BOOL) {
settingValue = (prop->GetValueAsString()=="True")?"true":"false";
} else {
settingValue = prop->GetValueAsString();
}
soapyDev->writeSetting(rtp->first, settingValue);
if (dev->isActive()) {
wxGetApp().getSDRThread()->writeSetting(rtp->first, settingValue);
}
refreshDeviceProperties();
return;
}
}
}
}
示例7: if
void
DlgPass::OnProcessPGChange( wxPropertyGridEvent& e)
{
Pass *p = getPass();
wxString name,subname,value;
std::string mat,lib;
name = e.GetPropertyName();
int index;
index = e.GetPropertyValue().GetInteger();
if (name == wxT("Camera")) {
value = m_pgCamList.GetLabel(index);
p->setCamera(std::string(value.mb_str()));
}
else if (name == wxT("Viewport")) {
if (index == 0)
p->setViewport(RENDERMANAGER->getCamera(p->getCameraName())->getViewport());
else {
value = m_pgViewportList.GetLabel(index-1);
p->setViewport(RENDERMANAGER->getViewport(std::string(value.mb_str())));
}
}
else if (name == wxT("Use Render Target")) {
p->enableRenderTarget(0 != e.GetPropertyValue().GetBool());
}
else if (name == wxT("Render Target")) {
value = e.GetPropertyValue().GetString();
if (value == wxT("None")) {
p->setRenderTarget(NULL);
m_PG->SetPropertyValue(wxT("Viewport"),wxT("From Camera"));
m_PG->EnableProperty(wxT("Viewport"));
}
else {
m_PG->SetPropertyValue(wxT("Viewport"), wxT("From Render Target"));
m_PG->DisableProperty(wxT("Viewport"));
p->setRenderTarget(RESOURCEMANAGER->getRenderTarget(std::string(value.mb_str())));
}
}
//else if (name == wxT("Clear Color"))
// p->setPropb(Pass::COLOR_CLEAR, (0 != e.GetPropertyValue().GetBool()));
//else if (name == wxT("Clear Depth"))
// p->setPropb(Pass::DEPTH_CLEAR, (0 != e.GetPropertyValue().GetBool()));
else if (name.substr(0,6) == wxT("Lights")) {
subname = name.substr(7,std::string::npos);
bool b = 0 != e.GetPropertyValue().GetBool();
if (b)
p->addLight(std::string(subname.mb_str()));
else
p->removeLight(std::string(subname.mb_str()));
}
else if (name.substr(0,6) == wxT("Scenes")) {
subname = name.substr(7,std::string::npos);
bool b = 0 != e.GetPropertyValue().GetBool();
if (b)
p->addScene(std::string(subname.mb_str()));
else
p->removeScene(std::string(subname.mb_str()));
}
else if (name.substr(0,13) == wxT("Material Maps")) { // Material Maps
subname = name.substr(14, std::string::npos);
if (subname == wxT("*"))
value = m_pgMaterialListPlus.GetLabel(e.GetPropertyValue().GetInteger());
else
value = m_pgMaterialList.GetLabel(e.GetPropertyValue().GetInteger());
mat = std::string(value.AfterLast(':').mb_str());
lib = std::string(value.BeforeFirst(':').mb_str());
if (subname == wxT("*")) {
if (mat == "*") {
p->remapAll(lib);
updateMats(p);
}
else if (value != wxT("None")) {
p->remapAll(lib,mat);
updateMats(p);
}
}
else
p->remapMaterial(std::string(subname.c_str()),lib,mat);
}
else
PropertyManager::updateProp(m_PG, name.ToStdString(), Pass::Attribs, (AttributeValues *)p);
//else if (name.substr(0,10) == wxT("Parameters")) {
// subname = name.substr(11, std::string::npos);
// p->setParam(std::string(subname.mb_str()), (float)(e.GetPropertyValue().GetDouble()));
//
//}
}
示例8: OnPropertyGridChange
void CPropertiesCanvas::OnPropertyGridChange( wxPropertyGridEvent& event ) {
wxPGProperty* p = event.GetPropertyPtr();
Property* property = GetProperty(p);
if(property == NULL)return;
wxGetApp().CreateUndoPoint();
switch(property->get_property_type()){
case StringPropertyType:
{
wxString value;
if (property->Evaluate(GetProperties(), event.GetPropertyValue().GetString(), value))
{
(*(((PropertyString*)property)->m_callbackfunc))(value, ((PropertyString*)property)->m_object);
}
}
break;
case DoublePropertyType:
{
wxString value;
if (property->Evaluate(GetProperties(), event.GetPropertyValue().GetString(), value))
{
(*(((PropertyDouble*)property)->m_callbackfunc))(strtod(value.utf8_str(),NULL), ((PropertyDouble*)property)->m_object);
}
}
break;
case LengthPropertyType:
{
wxString value;
if (property->Evaluate(GetProperties(), event.GetPropertyValue().GetString(), value))
{
(*(((PropertyLength*)property)->m_callbackfunc))(strtod(value.utf8_str(),NULL) * wxGetApp().m_view_units, ((PropertyDouble*)property)->m_object);
}
}
break;
case IntPropertyType:
{
(*(((PropertyInt*)property)->m_callbackfunc))(event.GetPropertyValue().GetLong(), ((PropertyInt*)property)->m_object);
}
break;
case ColorPropertyType:
{
wxVariant var = event.GetPropertyValue();
const wxColour* wcol = wxGetVariantCast(var,wxColour);
HeeksColor col(wcol->Red(), wcol->Green(), wcol->Blue());
(*(((PropertyColor*)property)->m_callbackfunc))(col, ((PropertyColor*)property)->m_object);
}
break;
case VertexPropertyType:
{
if(p->GetName()[0] == 'x'){
((PropertyVertex*)property)->m_x[0] = event.GetPropertyValue().GetDouble();
if(((PropertyVertex*)property)->m_affected_by_view_units)((PropertyVertex*)property)->m_x[0] *= wxGetApp().m_view_units;
}
else if(p->GetName()[0] == 'y'){
((PropertyVertex*)property)->m_x[1] = event.GetPropertyValue().GetDouble();
if(((PropertyVertex*)property)->m_affected_by_view_units)((PropertyVertex*)property)->m_x[1] *= wxGetApp().m_view_units;
}
else if(p->GetName()[0] == 'z'){
((PropertyVertex*)property)->m_x[2] = event.GetPropertyValue().GetDouble();
if(((PropertyVertex*)property)->m_affected_by_view_units)((PropertyVertex*)property)->m_x[2] *= wxGetApp().m_view_units;
}
(*(((PropertyVertex*)property)->m_callbackfunc))(((PropertyVertex*)property)->m_x, ((PropertyVertex*)property)->m_object);
}
break;
case TrsfPropertyType:
{
double pos[3];
extract(((PropertyTrsf*)property)->m_trsf.TranslationPart(), pos);
gp_Dir xaxis(1, 0, 0);
xaxis.Transform(((PropertyTrsf*)p)->m_trsf);
gp_Dir yaxis(0, 1, 0);
yaxis.Transform(((PropertyTrsf*)p)->m_trsf);
double vertical_angle = 0;
double horizontal_angle = 0;
double twist_angle = 0;
CoordinateSystem::AxesToAngles(xaxis, yaxis, vertical_angle, horizontal_angle, twist_angle);
if(p->GetName()[0] == 'x'){
pos[0] = event.GetPropertyValue().GetDouble();
}
else if(p->GetName()[0] == 'y'){
pos[1] = event.GetPropertyValue().GetDouble();
}
else if(p->GetName()[0] == 'z'){
pos[2] = event.GetPropertyValue().GetDouble();
}
else if(p->GetName()[0] == 'v'){
vertical_angle = event.GetPropertyValue().GetDouble();
}
else if(p->GetName()[0] == 'h'){
horizontal_angle = event.GetPropertyValue().GetDouble();
}
else if(p->GetName()[0] == 't'){
twist_angle = event.GetPropertyValue().GetDouble();
}
//.........这里部分代码省略.........
示例9: OnPropGridChanged
void SDRDevicesDialog::OnPropGridChanged( wxPropertyGridEvent& event ) {
if (editId && event.GetProperty() == devSettings["name"]) {
DeviceConfig *devConfig = wxGetApp().getConfig()->getDevice(dev->getDeviceId());
wxString devName = event.GetPropertyValue().GetString();
devConfig->setDeviceName(devName.ToStdString());
if (editId) {
devTree->SetItemText(editId, devConfig->getDeviceName());
}
if (devName == "") {
event.GetProperty()->SetValueFromString(devConfig->getDeviceName());
}
} else if (dev && event.GetProperty() == devSettings["offset"]) {
DeviceConfig *devConfig = wxGetApp().getConfig()->getDevice(dev->getDeviceId());
long offset = event.GetPropertyValue().GetInteger();
devConfig->setOffset(offset);
if (dev->isActive() || !wxGetApp().getDevice()) {
wxGetApp().setOffset(offset);
}
}
else if (dev && event.GetProperty() == devSettings["sample_rate"]) {
DeviceConfig *devConfig = wxGetApp().getConfig()->getDevice(dev->getDeviceId());
std::string strRate = deviceArgs["sample_rate"].options[event.GetPropertyValue().GetInteger()];
long srate = 0;
try {
srate = std::stol(strRate);
devConfig->setSampleRate(srate);
if (dev->isActive() || !wxGetApp().getDevice()) {
wxGetApp().setSampleRate(srate);
}
} catch (std::invalid_argument e) {
// nop
}
} else if (dev && event.GetProperty() == devSettings["antenna"]) {
DeviceConfig *devConfig = wxGetApp().getConfig()->getDevice(dev->getDeviceId());
std::string strAntennaName = deviceArgs["antenna"].options[event.GetPropertyValue().GetInteger()];
try {
devConfig->setAntennaName(strAntennaName);
if (dev->isActive() || !wxGetApp().getDevice()) {
wxGetApp().setAntennaName(strAntennaName);
}
}
catch (std::invalid_argument e) {
// nop
}
}
else if (editId && dev) {
wxPGProperty *prop = event.GetProperty();
//change value of RuntimeProps
for (std::map<std::string, wxPGProperty *>::iterator rtp = runtimeProps.begin(); rtp != runtimeProps.end(); rtp++) {
if (rtp->second == prop) {
SoapySDR::Device *soapyDev = dev->getSoapyDevice();
std::string settingValue = prop->GetValueAsString().ToStdString();
SoapySDR::ArgInfo arg = runtimeArgs[rtp->first];
if (arg.type == SoapySDR::ArgInfo::STRING && arg.options.size()) {
settingValue = arg.options[prop->GetChoiceSelection()];
} else if (arg.type == SoapySDR::ArgInfo::BOOL) {
settingValue = (prop->GetValueAsString()=="True")?"true":"false";
} else {
settingValue = prop->GetValueAsString();
}
soapyDev->writeSetting(rtp->first, settingValue);
if (dev->isActive()) {
wxGetApp().getSDRThread()->writeSetting(rtp->first, settingValue);
}
wxGetApp().notifyMainUIOfDeviceChange();
return;
}
}
}
// general refresh.
wxGetApp().notifyMainUIOfDeviceChange();
}