add stuff

git-svn-id: http://svn2.nishi.boats/svn/milsko/trunk@800 b9cfdab3-6d41-4d17-bbe4-086880011989
This commit is contained in:
NishiOwO
2025-11-24 19:05:56 +00:00
parent 5a47bb6da9
commit c8c14bf00f
3 changed files with 31 additions and 1 deletions

View File

@@ -309,6 +309,20 @@ MWDECL void MwShow(MwWidget handle, int toggle);
*/
MWDECL void MwReparent(MwWidget handle, MwWidget new_parent);
/*!
* @brief Gets class of widget
* @param handle Widget
* @return Class
*/
MWDECL MwClass MwGetClass(MwWidget handle);
/*!
* @brief Gets children of widget
* @param handle Widget
* @return Children (NULL-terminated array)
*/
MWDECL MwWidget* MwGetChildren(MwWidget handle);
#ifdef __cplusplus
}
#endif

View File

@@ -676,3 +676,19 @@ void MwReparent(MwWidget handle, MwWidget new_parent) {
handle->parent = new_parent;
arrput(new_parent->children, handle);
}
MwClass MwGetClass(MwWidget handle) {
return handle->widget_class;
}
MwWidget* MwGetChildren(MwWidget handle) {
MwWidget* c = malloc(sizeof(*c) * (arrlen(handle->children) + 1));
int i;
for(i = 0; i < arrlen(handle->children); i++) {
c[i] = handle->children[i];
}
c[arrlen(handle->children)] = 0;
return c;
}

View File

@@ -495,7 +495,7 @@ static void mwListBoxDeleteImpl(MwWidget handle, int index) {
if(MwGetInteger(handle, MwNvalue) >= arrlen(lb->list)) {
MwSetInteger(handle, MwNvalue, arrlen(lb->list) - 1);
}
if(MwGetInteger(handle, MwNvalue) < 0) {
if(MwGetInteger(handle, MwNvalue) < (MwGetInteger(handle, MwNhasHeading) ? 1 : 0)) {
MwSetInteger(handle, MwNvalue, -1);
}