Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
43 changes: 13 additions & 30 deletions src/dearpygui_commands.h
Original file line number Diff line number Diff line change
Expand Up @@ -2685,7 +2685,7 @@ get_frame_rate(PyObject* self, PyObject* args, PyObject* kwargs)
static PyObject*
generate_uuid(PyObject* self, PyObject* args, PyObject* kwargs)
{
return ToPyUUID(GenerateUUID());
return ToPyUUID(GenerateUUID(), "");
}

static PyObject*
Expand Down Expand Up @@ -2936,10 +2936,7 @@ pop_container_stack(PyObject* self, PyObject* args, PyObject* kwargs)
mvAppItem* item = containers.top();
containers.pop();

if (item)
return ToPyUUID(item);
else
return GetPyNone();
return ToPyUUIDOrNone(item);

}

Expand All @@ -2963,34 +2960,31 @@ top_container_stack(PyObject* self, PyObject* args, PyObject* kwargs)
if (!containers.empty())
item = containers.top();

if (item)
return ToPyUUID(item);
else
return GetPyNone();
return ToPyUUIDOrNone(item);
}

static PyObject*
last_item(PyObject* self, PyObject* args, PyObject* kwargs)
{
mvPySafeLockGuard lk(GContext->mutex);

return ToPyUUID(mvItemRegistry::threadContext.lastItemAdded);
return PyUUIDFromItem(mvItemRegistry::threadContext.lastItemAdded);
}

static PyObject*
last_container(PyObject* self, PyObject* args, PyObject* kwargs)
{
mvPySafeLockGuard lk(GContext->mutex);

return ToPyUUID(mvItemRegistry::threadContext.lastContainerAdded);
return PyUUIDFromItem(mvItemRegistry::threadContext.lastContainerAdded);
}

static PyObject*
last_root(PyObject* self, PyObject* args, PyObject* kwargs)
{
mvPySafeLockGuard lk(GContext->mutex);

return ToPyUUID(mvItemRegistry::threadContext.lastRootAdded);
return PyUUIDFromItem(mvItemRegistry::threadContext.lastRootAdded);
}

static PyObject*
Expand Down Expand Up @@ -3110,15 +3104,15 @@ get_active_window(PyObject* self, PyObject* args, PyObject* kwargs)
{
mvPySafeLockGuard lk(GContext->mutex);

return ToPyUUID(GContext->activeWindow);
return PyUUIDFromItem(GContext->activeWindow);
}

static PyObject*
get_focused_item(PyObject* self, PyObject* args, PyObject* kwargs)
{
mvPySafeLockGuard lk(GContext->mutex);

return ToPyUUID(GContext->focusedItem);
return PyUUIDFromItem(GContext->focusedItem);
}

static PyObject*
Expand Down Expand Up @@ -3497,7 +3491,7 @@ get_alias_id(PyObject* self, PyObject* args, PyObject* kwargs)

mvUUID result = GetIdFromAlias((*GContext->itemRegistry), alias);

return ToPyUUID(result);
return ToPyUUID(result, "");
}

static PyObject*
Expand Down Expand Up @@ -3633,20 +3627,9 @@ get_item_info(PyObject* self, PyObject* args, PyObject* kwargs)
PyDict_SetItemString(pdict, "type", mvPyObject(ToPyString(DearPyGui::GetEntityTypeString(appitem->type))));
PyDict_SetItemString(pdict, "target", mvPyObject(ToPyInt(DearPyGui::GetEntityTargetSlot(appitem->type))));

if (appitem->info.parentPtr)
PyDict_SetItemString(pdict, "parent", mvPyObject(ToPyUUID(appitem->info.parentPtr->uuid)));
else
PyDict_SetItemString(pdict, "parent", mvPyObject(GetPyNone()));

if (appitem->theme)
PyDict_SetItemString(pdict, "theme", mvPyObject(ToPyUUID(appitem->theme->uuid)));
else
PyDict_SetItemString(pdict, "theme", mvPyObject(GetPyNone()));

if (appitem->font)
PyDict_SetItemString(pdict, "font", mvPyObject(ToPyUUID(appitem->font->uuid)));
else
PyDict_SetItemString(pdict, "font", mvPyObject(GetPyNone()));
PyDict_SetItemString(pdict, "parent", mvPyObject(ToPyUUIDOrNone(appitem->info.parentPtr)));
PyDict_SetItemString(pdict, "theme", mvPyObject(ToPyUUIDOrNone(appitem->theme.get())));
PyDict_SetItemString(pdict, "font", mvPyObject(ToPyUUIDOrNone(appitem->font.get())));

if (DearPyGui::GetEntityDesciptionFlags(appitem->type) & MV_ITEM_DESC_CONTAINER)
PyDict_SetItemString(pdict, "container", mvPyObject(ToPyBool(true)));
Expand Down Expand Up @@ -3697,7 +3680,7 @@ get_item_configuration(PyObject* self, PyObject* args, PyObject* kwargs)
mvPyObject py_payload_type = ToPyString(appitem->config.payloadType);
mvPyObject py_label = ToPyString(appitem->config.specifiedLabel);
mvPyObject py_use_internal_label = ToPyBool(appitem->config.useInternalLabel);
mvPyObject py_source = ToPyUUID(appitem->config.source);
mvPyObject py_source = PyUUIDFromItem(appitem->config.source);
mvPyObject py_show = ToPyBool(appitem->config.show);
mvPyObject py_enabled = ToPyBool(appitem->config.enabled);
mvPyObject py_tracked = ToPyBool(appitem->config.tracked);
Expand Down
2 changes: 1 addition & 1 deletion src/mvAppItem.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -111,7 +111,7 @@ void mvAppItem::submitCallback(mvColor app_data)
}

template<>
void mvAppItem::submitCallback(mvUUID app_data)
void mvAppItem::submitCallback(mvAppItem* app_data)
{
submitCallbackEx([=]() { return ToPyUUID(app_data); });
}
Expand Down
36 changes: 18 additions & 18 deletions src/mvBasicWidgets.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -664,7 +664,7 @@ DearPyGui::fill_configuration_dict(const mvImageConfig& inConfig, PyObject* outD
PyDict_SetItemString(outDict, "uv_max", mvPyObject(ToPyPair(inConfig.uv_max.x, inConfig.uv_max.y)));
PyDict_SetItemString(outDict, "tint_color", mvPyObject(ToPyColor(inConfig.tintColor)));
PyDict_SetItemString(outDict, "border_color", mvPyObject(ToPyColor(inConfig.borderColor)));
PyDict_SetItemString(outDict, "texture_tag", mvPyObject(ToPyUUID(inConfig.textureUUID)));
PyDict_SetItemString(outDict, "texture_tag", mvPyObject(ToPyUUID(inConfig.texture.get())));
}

void
Expand All @@ -677,7 +677,7 @@ DearPyGui::fill_configuration_dict(const mvImageButtonConfig& inConfig, PyObject
PyDict_SetItemString(outDict, "uv_max", mvPyObject(ToPyPair(inConfig.uv_max.x, inConfig.uv_max.y)));
PyDict_SetItemString(outDict, "tint_color", mvPyObject(ToPyColor(inConfig.tintColor)));
PyDict_SetItemString(outDict, "background_color", mvPyObject(ToPyColor(inConfig.backgroundColor)));
PyDict_SetItemString(outDict, "texture_tag", mvPyObject(ToPyUUID(inConfig.textureUUID)));
PyDict_SetItemString(outDict, "texture_tag", mvPyObject(ToPyUUID(inConfig.texture.get())));
PyDict_SetItemString(outDict, "frame_padding", mvPyObject(ToPyInt(inConfig.framePadding)));
}

Expand Down Expand Up @@ -1469,14 +1469,14 @@ DearPyGui::set_configuration(PyObject* inDict, mvImageConfig& outConfig)
if (PyObject* item = PyDict_GetItemString(inDict, "border_color")) outConfig.borderColor = ToColor(item);
if (PyObject* item = PyDict_GetItemString(inDict, "texture_tag"))
{
outConfig.textureUUID = GetIDFromPyObject(item);
if (outConfig.textureUUID == MV_ATLAS_UUID)
mvUUID textureUUID = GetIDFromPyObject(item);
if (textureUUID == MV_ATLAS_UUID)
{
outConfig.texture = std::make_shared<mvStaticTexture>(outConfig.textureUUID);
outConfig.texture = std::make_shared<mvStaticTexture>(textureUUID);
}
else
{
outConfig.texture = GetRefItem(*GContext->itemRegistry, outConfig.textureUUID);
outConfig.texture = GetRefItem(*GContext->itemRegistry, textureUUID);
if (!outConfig.texture)
mvThrowPythonError(mvErrorCode::mvTextureNotFound, GetEntityCommand(mvAppItemType::mvImage), "Texture not found.", nullptr);
}
Expand All @@ -1496,14 +1496,14 @@ DearPyGui::set_configuration(PyObject* inDict, mvImageButtonConfig& outConfig)
if (PyObject* item = PyDict_GetItemString(inDict, "frame_padding")) outConfig.framePadding = ToInt(item);
if (PyObject* item = PyDict_GetItemString(inDict, "texture_tag"))
{
outConfig.textureUUID = GetIDFromPyObject(item);
if (outConfig.textureUUID == MV_ATLAS_UUID)
mvUUID textureUUID = GetIDFromPyObject(item);
if (textureUUID == MV_ATLAS_UUID)
{
outConfig.texture = std::make_shared<mvStaticTexture>(outConfig.textureUUID);
outConfig.texture = std::make_shared<mvStaticTexture>(textureUUID);
}
else
{
outConfig.texture = GetRefItem(*GContext->itemRegistry, outConfig.textureUUID);
outConfig.texture = GetRefItem(*GContext->itemRegistry, textureUUID);
if (!outConfig.texture)
mvThrowPythonError(mvErrorCode::mvTextureNotFound, GetEntityCommand(mvAppItemType::mvImageButton), "Texture not found.", nullptr);
}
Expand Down Expand Up @@ -1549,14 +1549,14 @@ DearPyGui::set_required_configuration(PyObject* inDict, mvImageConfig& outConfig
if (!VerifyRequiredArguments(GetParsers()[GetEntityCommand(mvAppItemType::mvImage)], inDict))
return;

outConfig.textureUUID = GetIDFromPyObject(PyTuple_GetItem(inDict, 0));
if (outConfig.textureUUID == MV_ATLAS_UUID)
mvUUID textureUUID = GetIDFromPyObject(PyTuple_GetItem(inDict, 0));
if (textureUUID == MV_ATLAS_UUID)
{
outConfig.texture = std::make_shared<mvStaticTexture>(outConfig.textureUUID);
outConfig.texture = std::make_shared<mvStaticTexture>(textureUUID);
}
else
{
outConfig.texture = GetRefItem(*GContext->itemRegistry, outConfig.textureUUID);
outConfig.texture = GetRefItem(*GContext->itemRegistry, textureUUID);
if (!outConfig.texture)
mvThrowPythonError(mvErrorCode::mvTextureNotFound, GetEntityCommand(mvAppItemType::mvImage), "Texture not found.", nullptr);
}
Expand All @@ -1568,14 +1568,14 @@ DearPyGui::set_required_configuration(PyObject* inDict, mvImageButtonConfig& out
if (!VerifyRequiredArguments(GetParsers()[GetEntityCommand(mvAppItemType::mvImageButton)], inDict))
return;

outConfig.textureUUID = GetIDFromPyObject(PyTuple_GetItem(inDict, 0));
if (outConfig.textureUUID == MV_ATLAS_UUID)
mvUUID textureUUID = GetIDFromPyObject(PyTuple_GetItem(inDict, 0));
if (textureUUID == MV_ATLAS_UUID)
{
outConfig.texture = std::make_shared<mvStaticTexture>(outConfig.textureUUID);
outConfig.texture = std::make_shared<mvStaticTexture>(textureUUID);
}
else
{
outConfig.texture = GetRefItem(*GContext->itemRegistry, outConfig.textureUUID);
outConfig.texture = GetRefItem(*GContext->itemRegistry, textureUUID);
if (!outConfig.texture)
mvThrowPythonError(mvErrorCode::mvTextureNotFound, GetEntityCommand(mvAppItemType::mvImageButton), "Texture not found.", nullptr);
}
Expand Down
2 changes: 0 additions & 2 deletions src/mvBasicWidgets.h
Original file line number Diff line number Diff line change
Expand Up @@ -530,7 +530,6 @@ struct mvImageConfig
{
// pointer to existing item or internal
std::shared_ptr<mvAppItem> texture = nullptr;
mvUUID textureUUID = 0;
mvVec2 uv_min = { 0.0f, 0.0f };
mvVec2 uv_max = { 1.0f, 1.0f };
mvColor tintColor = { 1.0f, 1.0f, 1.0f, 1.0f };
Expand All @@ -541,7 +540,6 @@ struct mvImageButtonConfig
{
// pointer to existing item or internal
std::shared_ptr<mvAppItem> texture = nullptr;
mvUUID textureUUID = 0;
mvVec2 uv_min = { 0.0f, 0.0f };
mvVec2 uv_max = { 1.0f, 1.0f };
mvColor tintColor = { 1.0f, 1.0f, 1.0f, 1.0f };
Expand Down
4 changes: 1 addition & 3 deletions src/mvCallbackRegistry.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -131,9 +131,7 @@ void mvRunCallback(PyObject* callback, PyObject* user_data, mvUUID sender, const

if (count > 0)
{
PyTuple_SetItem(pArgs, 0, sender_alias.empty()?
ToPyUUID(sender) :
ToPyString(sender_alias));
PyTuple_SetItem(pArgs, 0, ToPyUUID(sender, sender_alias));

if (count > 1)
{
Expand Down
2 changes: 1 addition & 1 deletion src/mvContainers.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -846,7 +846,7 @@ DearPyGui::draw_tab(ImDrawList* drawlist, mvAppItem& item, mvTabConfig& config)
// run call back if it exists
if (parent->getSpecificValue() != item.uuid)
{
parent->submitCallback(item.uuid);
parent->submitCallback(&item);
}

parent->setValue(item.uuid);
Expand Down
2 changes: 1 addition & 1 deletion src/mvContainers.h
Original file line number Diff line number Diff line change
Expand Up @@ -246,7 +246,7 @@ class mvTabBar : public mvAppItem
void handleSpecificKeywordArgs(PyObject* dict) override { DearPyGui::set_configuration(dict, configData); }
void getSpecificConfiguration(PyObject* dict) override { DearPyGui::fill_configuration_dict(configData, dict); }
void setDataSource(mvUUID dataSource) override { DearPyGui::set_data_source(*this, uuid, configData); }
PyObject* getPyValue() override{ return ToPyUUID(*configData.value); }
PyObject* getPyValue() override{ return PyUUIDFromItem(*configData.value); }
void setPyValue(PyObject* value) override{ *configData.value = ToUUID(value); }
mvUUID getSpecificValue() { return configData.uiValue; }
void setValue(mvUUID value) { configData.uiValue = value; }
Expand Down
12 changes: 6 additions & 6 deletions src/mvDrawings.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -576,7 +576,7 @@ void mvDrawImage::handleSpecificRequiredArgs(PyObject* dict)
if (!VerifyRequiredArguments(GetParsers()[GetEntityCommand(type)], dict))
return;

_textureUUID = GetIDFromPyObject(PyTuple_GetItem(dict, 0));
mvUUID _textureUUID = GetIDFromPyObject(PyTuple_GetItem(dict, 0));
if (_textureUUID == MV_ATLAS_UUID)
{
_texture = std::make_shared<mvStaticTexture>(_textureUUID);
Expand Down Expand Up @@ -606,7 +606,7 @@ void mvDrawImage::handleSpecificKeywordArgs(PyObject* dict)
if (PyObject* item = PyDict_GetItemString(dict, "color")) _color = ToColor(item);
if (PyObject* item = PyDict_GetItemString(dict, "texture_tag"))
{
_textureUUID = GetIDFromPyObject(item);
mvUUID _textureUUID = GetIDFromPyObject(item);
if (_textureUUID == MV_ATLAS_UUID)
{
_texture = std::make_shared<mvStaticTexture>(_textureUUID);
Expand All @@ -633,7 +633,7 @@ void mvDrawImage::getSpecificConfiguration(PyObject* dict)
PyDict_SetItemString(dict, "uv_min", mvPyObject(ToPyPair(_uv_min.x, _uv_min.y)));
PyDict_SetItemString(dict, "uv_max", mvPyObject(ToPyPair(_uv_max.x, _uv_max.y)));
PyDict_SetItemString(dict, "color", mvPyObject(ToPyColor(_color)));
PyDict_SetItemString(dict, "texture_tag", mvPyObject(ToPyUUID(_textureUUID)));
PyDict_SetItemString(dict, "texture_tag", mvPyObject(ToPyUUID(_texture.get())));
}

void mvDrawImageQuad::draw(ImDrawList* drawlist, float x, float y)
Expand Down Expand Up @@ -696,7 +696,7 @@ void mvDrawImageQuad::handleSpecificRequiredArgs(PyObject* dict)
if (!VerifyRequiredArguments(GetParsers()[GetEntityCommand(type)], dict))
return;

_textureUUID = GetIDFromPyObject(PyTuple_GetItem(dict, 0));
mvUUID _textureUUID = GetIDFromPyObject(PyTuple_GetItem(dict, 0));
if (_textureUUID == MV_ATLAS_UUID)
{
_texture = std::make_shared<mvStaticTexture>(_textureUUID);
Expand Down Expand Up @@ -735,7 +735,7 @@ void mvDrawImageQuad::handleSpecificKeywordArgs(PyObject* dict)
if (PyObject* item = PyDict_GetItemString(dict, "color")) _color = ToColor(item);
if (PyObject* item = PyDict_GetItemString(dict, "texture_tag"))
{
_textureUUID = GetIDFromPyObject(item);
mvUUID _textureUUID = GetIDFromPyObject(item);
if (_textureUUID == MV_ATLAS_UUID)
{
_texture = std::make_shared<mvStaticTexture>(_textureUUID);
Expand Down Expand Up @@ -768,7 +768,7 @@ void mvDrawImageQuad::getSpecificConfiguration(PyObject* dict)
PyDict_SetItemString(dict, "uv3", mvPyObject(ToPyPair(_uv3.x, _uv3.y)));
PyDict_SetItemString(dict, "uv4", mvPyObject(ToPyPair(_uv4.x, _uv4.y)));
PyDict_SetItemString(dict, "color", mvPyObject(ToPyColor(_color)));
PyDict_SetItemString(dict, "texture_tag", mvPyObject(ToPyUUID(_textureUUID)));
PyDict_SetItemString(dict, "texture_tag", mvPyObject(ToPyUUID(_texture.get())));
}

mvDrawLayer::~mvDrawLayer()
Expand Down
2 changes: 0 additions & 2 deletions src/mvDrawings.h
Original file line number Diff line number Diff line change
Expand Up @@ -206,7 +206,6 @@ class mvDrawImage : public mvAppItem
private:


mvUUID _textureUUID = 0;
mvVec4 _pmax = { 0.0f, 0.0f, 0.0f, 1.0f };
mvVec4 _pmin = { 0.0f, 0.0f, 0.0f, 1.0f };
mvVec2 _uv_min = { 0.0f, 0.0f };
Expand Down Expand Up @@ -234,7 +233,6 @@ class mvDrawImageQuad : public mvAppItem
private:


mvUUID _textureUUID = 0;
mvVec4 _p1 = { 0.0f, 0.0f, 0.0f, 1.0f };
mvVec4 _p2 = { 0.0f, 0.0f, 0.0f, 1.0f };
mvVec4 _p3 = { 0.0f, 0.0f, 0.0f, 1.0f };
Expand Down
Loading
Loading