3131#include " component_registry.hpp"
3232#include " components/scrollpane.hpp"
3333#include " interface/interface_receiver.hpp"
34+
35+ #include " layout/grid_layout_manager.hpp"
3436#include " layout/flex_layout_manager.hpp"
3537
3638void interfaceReceiverThread ()
@@ -455,19 +457,19 @@ void interfaceReceiverProcessCommand(g_message_header* requestMessage)
455457 responseMessage = response;
456458 responseLength = sizeof (g_ui_simple_response);
457459 }
458- else if (requestUiMessage->id == G_UI_PROTOCOL_FLEX_SET_PADDING )
460+ else if (requestUiMessage->id == G_UI_PROTOCOL_LAYOUT_SET_PADDING )
459461 {
460462 auto response = new g_ui_simple_response;
461463 response->status = G_UI_PROTOCOL_FAIL;
462464
463- auto request = (g_ui_flex_set_padding *) requestUiMessage;
465+ auto request = (g_ui_layout_set_padding *) requestUiMessage;
464466 component_t * component = component_registry_t::get (request->id );
465467 if (component)
466468 {
467- auto flexLayoutManager = dynamic_cast < flex_layout_manager_t *>( component->getLayoutManager () );
468- if (flexLayoutManager )
469+ auto layoutManager = component->getLayoutManager ();
470+ if (layoutManager )
469471 {
470- flexLayoutManager ->setPadding (request->insets );
472+ layoutManager ->setPadding (request->insets );
471473 response->status = G_UI_PROTOCOL_SUCCESS;
472474 }
473475 }
@@ -514,7 +516,7 @@ void interfaceReceiverProcessCommand(g_message_header* requestMessage)
514516 auto response = new g_ui_simple_response;
515517 response->status = G_UI_PROTOCOL_FAIL;
516518
517- auto request = (g_ui_component_set_preferred_size_request *) requestUiMessage;
519+ auto request = (g_ui_component_set_size_request *) requestUiMessage;
518520 component_t * component = component_registry_t::get (request->id );
519521 if (component)
520522 {
@@ -525,6 +527,38 @@ void interfaceReceiverProcessCommand(g_message_header* requestMessage)
525527 responseMessage = response;
526528 responseLength = sizeof (g_ui_simple_response);
527529 }
530+ else if (requestUiMessage->id == G_UI_PROTOCOL_SET_MINIMUM_SIZE)
531+ {
532+ auto response = new g_ui_simple_response;
533+ response->status = G_UI_PROTOCOL_FAIL;
534+
535+ auto request = (g_ui_component_set_size_request*) requestUiMessage;
536+ component_t * component = component_registry_t::get (request->id );
537+ if (component)
538+ {
539+ component->setMinimumSize (request->size );
540+ response->status = G_UI_PROTOCOL_SUCCESS;
541+ }
542+
543+ responseMessage = response;
544+ responseLength = sizeof (g_ui_simple_response);
545+ }
546+ else if (requestUiMessage->id == G_UI_PROTOCOL_SET_MAXIMUM_SIZE)
547+ {
548+ auto response = new g_ui_simple_response;
549+ response->status = G_UI_PROTOCOL_FAIL;
550+
551+ auto request = (g_ui_component_set_size_request*) requestUiMessage;
552+ component_t * component = component_registry_t::get (request->id );
553+ if (component)
554+ {
555+ component->setMaximumSize (request->size );
556+ response->status = G_UI_PROTOCOL_SUCCESS;
557+ }
558+
559+ responseMessage = response;
560+ responseLength = sizeof (g_ui_simple_response);
561+ }
528562
529563 windowserver_t::instance ()->requestUpdate ();
530564
0 commit comments