Skip to content

Commit 2f28168

Browse files
AtlamilliasAnthony Doupe
and
Anthony Doupe
authored
fix: item config/info oddities (cont.) (#2010)
* fix (mvWindowAppItem): incl "on_close" in outDict * ft/fix (get_item_info): incl ihreg as "handlers" * fix (mvInputText): outDict typo in "multiline" * fix (mvNodeEdit): inc delink_cb in oDict when None * fix (mvFileExtension): incl "extension" in cfg out * fix (mvDragPayload): incl d/d_data in cfg out * fix (mvSubPlots): incl. columns in cfg out Co-authored-by: Anthony Doupe <[email protected]>
1 parent ea2c43b commit 2f28168

File tree

4 files changed

+45
-11
lines changed

4 files changed

+45
-11
lines changed

src/mvContainers.cpp

+16
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,22 @@ DearPyGui::fill_configuration_dict(const mvDragPayloadConfig& inConfig, PyObject
8686
{
8787
if (outDict == nullptr)
8888
return;
89+
90+
if (inConfig.dragData)
91+
{
92+
Py_XINCREF(inConfig.dragData);
93+
PyDict_SetItemString(outDict, "drag_data", inConfig.dragData);
94+
}
95+
else
96+
PyDict_SetItemString(outDict, "drag_data", GetPyNone());
97+
98+
if (inConfig.dropData)
99+
{
100+
Py_XINCREF(inConfig.dropData);
101+
PyDict_SetItemString(outDict, "drop_data", inConfig.dropData);
102+
}
103+
else
104+
PyDict_SetItemString(outDict, "drop_data", GetPyNone());
89105
}
90106

91107
void

src/mvFileExtension.cpp

+2
Original file line numberDiff line numberDiff line change
@@ -48,4 +48,6 @@ void mvFileExtension::getSpecificConfiguration(PyObject* dict)
4848

4949
PyDict_SetItemString(dict, "custom_text", mvPyObject(ToPyString(_customText)));
5050
PyDict_SetItemString(dict, "color", mvPyObject(ToPyColor(_color)));
51+
PyDict_SetItemString(dict, "extension", mvPyObject(ToPyString(_extension)) );
52+
5153
}

src/mvPlotting.cpp

+13-11
Original file line numberDiff line numberDiff line change
@@ -287,7 +287,7 @@ DearPyGui::set_data_source(mvAppItem& item, mvUUID dataSource, mvDragPointConfig
287287
outConfig.value = *static_cast<std::shared_ptr<std::array<double, 4>>*>(item.getValue());
288288
}
289289

290-
void
290+
void
291291
DearPyGui::set_data_source(mvAppItem& item, mvUUID dataSource, std::shared_ptr<std::vector<std::vector<double>>>& outValue)
292292
{
293293
if (dataSource == item.config.source) return;
@@ -744,7 +744,7 @@ DearPyGui::draw_drag_point(ImDrawList* drawlist, mvAppItem& item, mvDragPointCon
744744
}
745745
}
746746

747-
void
747+
void
748748
DearPyGui::draw_bar_series(ImDrawList* drawlist, mvAppItem& item, const mvBarSeriesConfig& config)
749749
{
750750

@@ -943,7 +943,7 @@ DearPyGui::draw_scatter_series(ImDrawList* drawlist, mvAppItem& item, const mvBa
943943
//-----------------------------------------------------------------------------
944944
// post draw
945945
//-----------------------------------------------------------------------------
946-
//
946+
//
947947
// pop font off stack
948948
if (item.font)
949949
ImGui::PopFont();
@@ -1011,7 +1011,7 @@ DearPyGui::draw_stair_series(ImDrawList* drawlist, mvAppItem& item, const mvBasi
10111011
//-----------------------------------------------------------------------------
10121012
// post draw
10131013
//-----------------------------------------------------------------------------
1014-
//
1014+
//
10151015
// pop font off stack
10161016
if (item.font)
10171017
ImGui::PopFont();
@@ -1079,7 +1079,7 @@ DearPyGui::draw_stem_series(ImDrawList* drawlist, mvAppItem& item, const mvBasic
10791079
//-----------------------------------------------------------------------------
10801080
// post draw
10811081
//-----------------------------------------------------------------------------
1082-
//
1082+
//
10831083
// pop font off stack
10841084
if (item.font)
10851085
ImGui::PopFont();
@@ -1150,7 +1150,7 @@ DearPyGui::draw_shade_series(ImDrawList* drawlist, mvAppItem& item, const mvBasi
11501150
//-----------------------------------------------------------------------------
11511151
// post draw
11521152
//-----------------------------------------------------------------------------
1153-
//
1153+
//
11541154
// pop font off stack
11551155
if (item.font)
11561156
ImGui::PopFont();
@@ -2137,7 +2137,7 @@ DearPyGui::draw_plot_annotation(ImDrawList* drawlist, mvAppItem& item, mvAnnotat
21372137

21382138
}
21392139

2140-
void
2140+
void
21412141
DearPyGui::set_positional_configuration(PyObject* inDict, mvBarSeriesConfig& outConfig)
21422142
{
21432143
if (!VerifyRequiredArguments(GetParsers()[GetEntityCommand(mvAppItemType::mvBarSeries)], inDict))
@@ -2435,7 +2435,7 @@ DearPyGui::set_configuration(PyObject* inDict, mvBarSeriesConfig& outConfig)
24352435

24362436
}
24372437

2438-
void
2438+
void
24392439
DearPyGui::set_configuration(PyObject* inDict, mvBasicSeriesConfig& outConfig)
24402440
{
24412441
if (inDict == nullptr)
@@ -2823,7 +2823,7 @@ DearPyGui::fill_configuration_dict(const mvPlotLegendConfig& inConfig, PyObject*
28232823

28242824
}
28252825

2826-
void
2826+
void
28272827
DearPyGui::fill_configuration_dict(const mvBarSeriesConfig& inConfig, PyObject* outDict)
28282828
{
28292829
if (outDict == nullptr)
@@ -2984,6 +2984,8 @@ DearPyGui::fill_configuration_dict(const mvSubPlotsConfig& inConfig, PyObject* o
29842984
return;
29852985

29862986
PyDict_SetItemString(outDict, "rows", mvPyObject(ToPyInt(inConfig.rows)));
2987+
PyDict_SetItemString(outDict, "columns", mvPyObject(ToPyInt(inConfig.cols)));
2988+
// maybe remove this on next minor release?
29872989
PyDict_SetItemString(outDict, "cols", mvPyObject(ToPyInt(inConfig.cols)));
29882990
PyDict_SetItemString(outDict, "row_ratios", mvPyObject(ToPyList(inConfig.row_ratios)));
29892991
PyDict_SetItemString(outDict, "column_ratios", mvPyObject(ToPyList(inConfig.col_ratios)));
@@ -3072,7 +3074,7 @@ DearPyGui::apply_template(const mvPlotLegendConfig& sourceConfig, mvPlotLegendCo
30723074
dstConfig.outside = sourceConfig.outside;
30733075
}
30743076

3075-
void
3077+
void
30763078
DearPyGui::apply_template(const mvBarSeriesConfig& sourceConfig, mvBarSeriesConfig& dstConfig)
30773079
{
30783080
dstConfig.value = sourceConfig.value;
@@ -3244,7 +3246,7 @@ DearPyGui::apply_template(const mvPlotConfig& sourceConfig, mvPlotConfig& dstCon
32443246
// Old Classes, in the process of removing OOP crap
32453247
//-----------------------------------------------------------------------------
32463248

3247-
void
3249+
void
32483250
mvDragPoint::setPyValue(PyObject* value)
32493251
{
32503252
std::vector<double> temp = ToDoubleVect(value);

testing/simple_tests.py

+14
Original file line numberDiff line numberDiff line change
@@ -238,6 +238,20 @@ def test_cfg_delink_callback_in_mvNodeEditor(self):
238238
self.assertTrue("delink_callback" in cfg2)
239239
self.assertTrue(cfg2.get("delink_callback", 0) is dl_cb)
240240

241+
def test_cfg_extensions_in_mvFileExtension(self):
242+
with dpg.file_dialog():
243+
ext = dpg.add_file_extension("*.*")
244+
cfg = dpg.get_item_configuration(ext)
245+
self.assertTrue("extension" in cfg)
246+
247+
def test_cfg_dragdropdata_in_mvDragPayload(self):
248+
b = dpg.add_button(parent=self.wndw)
249+
payload = dpg.add_drag_payload(parent=b)
250+
251+
cfg = dpg.get_item_configuration(payload)
252+
self.assertTrue("drag_data" in cfg)
253+
self.assertTrue("drop_data" in cfg)
254+
241255
def tearDown(self):
242256
dpg.stop_dearpygui()
243257
dpg.destroy_context()

0 commit comments

Comments
 (0)