zoomedit: Toolbar-Zoom-Buttons funktionieren wieder.

This commit is contained in:
neoraider 2007-10-30 21:54:00 +00:00
parent 29ecb9c039
commit bc2b34ead6
4 changed files with 35 additions and 10 deletions

View file

@ -1,4 +1,5 @@
#include "UIManager.h" #include "UIManager.h"
#include "Window.h"
const gchar* const UIManager::uiData = (const gchar*) const gchar* const UIManager::uiData = (const gchar*)
@ -23,12 +24,14 @@ const gchar* const UIManager::uiData = (const gchar*)
void UIManager::handleAction(GtkAction *action, UIManager *uiManager) { void UIManager::handleAction(GtkAction *action, UIManager *uiManager) {
//const gchar* name = gtk_action_get_name(action); const gchar* name = gtk_action_get_name(action);
/*if(!strcmp(name, "zoomIn")) if(!strcmp(name, "zoomIn"))
zoomInCentered(1.2f); uiManager->window->handleAction(ZOOM_IN);
//zoomInCentered(1.2f);
else if(!strcmp(name, "zoomOut")) else if(!strcmp(name, "zoomOut"))
zoomOutCentered(1.2f);*/ uiManager->window->handleAction(ZOOM_OUT);
//zoomOutCentered(1.2f);
} }
GtkActionGroup* UIManager::createActions() { GtkActionGroup* UIManager::createActions() {
@ -77,7 +80,9 @@ GtkActionGroup* UIManager::createActions() {
return actionGroup; return actionGroup;
} }
UIManager::UIManager() { UIManager::UIManager(Window *window) {
this->window = window;
uiManager = gtk_ui_manager_new(); uiManager = gtk_ui_manager_new();
gtk_ui_manager_add_ui_from_string(uiManager, uiData, -1, NULL); gtk_ui_manager_add_ui_from_string(uiManager, uiData, -1, NULL);

View file

@ -4,18 +4,27 @@
#include <gtk/gtk.h> #include <gtk/gtk.h>
class Window;
class UIManager { class UIManager {
private: private:
static const gchar* const uiData; static const gchar* const uiData;
GtkUIManager *uiManager; GtkUIManager *uiManager;
Window *window;
static void handleAction(GtkAction *action, UIManager *uiManager);
GtkActionGroup* createActions(); GtkActionGroup* createActions();
static void handleAction(GtkAction *action, UIManager *uiManager);
public: public:
UIManager(); enum Action {
ZOOM_IN, ZOOM_OUT
};
UIManager(Window *window);
virtual ~UIManager(); virtual ~UIManager();
GtkWidget* getMenu() { GtkWidget* getMenu() {

View file

@ -11,7 +11,7 @@ gboolean Window::deleteEvent(GtkWidget *widget, GdkEvent *event, Window *window)
} }
Window::Window(GdkGLConfig *glconfig, WindowManager *manager) Window::Window(GdkGLConfig *glconfig, WindowManager *manager)
: editor(this), drawer(this, glconfig), sidebar(&editor) : uiManager(this), editor(this), drawer(this, glconfig), sidebar(&editor)
{ {
this->manager = manager; this->manager = manager;
@ -50,3 +50,14 @@ void Window::update() {
drawer.update(); drawer.update();
sidebar.update(); sidebar.update();
} }
void Window::handleAction(UIManager::Action action) {
switch(action) {
case UIManager::ZOOM_IN:
drawer.zoom(2);
break;
case UIManager::ZOOM_OUT:
drawer.zoom(-2);
}
}

View file

@ -38,8 +38,8 @@ class Window {
virtual ~Window(); virtual ~Window();
void show(); void show();
void update(); void update();
void handleAction(UIManager::Action action);
EditManager& getEditManager() { EditManager& getEditManager() {
return editor; return editor;