This repository has been archived on 2025-03-02. You can view files and clone it, but cannot push or open issues or pull requests.
neofx-zoomedit/SidebarAdd.cpp

44 lines
1.1 KiB
C++
Raw Normal View History

#include "SidebarAdd.h"
#include "edit.h"
void SidebarAdd::buttonClicked(GtkButton *button, SidebarAdd *sidebar) {
sidebar->editor->finishRoom();
}
SidebarAdd::SidebarAdd(EditManager *editor) {
this->editor = editor;
sidebar = gtk_vbox_new(FALSE, 0);
g_object_ref_sink(G_OBJECT(sidebar));
GtkWidget *labelRoomInfo = gtk_label_new(NULL);
gtk_label_set_markup(GTK_LABEL(labelRoomInfo), "<b>Add room</b>");
gtk_misc_set_alignment(GTK_MISC(labelRoomInfo), 0.0, 0.5);
gtk_box_pack_start(GTK_BOX(sidebar), labelRoomInfo, FALSE, FALSE, 5);
buttonAdd = gtk_button_new_with_label("Add room");
g_signal_connect(G_OBJECT(buttonAdd), "clicked", G_CALLBACK(buttonClicked), this);
gtk_box_pack_end(GTK_BOX(sidebar), buttonAdd, FALSE, FALSE, 0);
gtk_widget_show_all(sidebar);
}
SidebarAdd::~SidebarAdd() {
g_object_unref(G_OBJECT(sidebar));
}
GtkWidget* SidebarAdd::getWidget() {
return sidebar;
}
void SidebarAdd::update() {
if(!getActiveRoom())
return;
if(getActiveRoom()->size() > 2 && isPolygonOk(getActiveRoom()))
gtk_widget_set_sensitive(buttonAdd, TRUE);
else
gtk_widget_set_sensitive(buttonAdd, FALSE);
}