94 lines
2.6 KiB
C++
94 lines
2.6 KiB
C++
/**
|
|
*******************************************************************************
|
|
* @file ToolBar.cpp
|
|
* @brief Editeur De N'ours : abstraction of the tool bar (Sources)
|
|
* @author Edouard DUPIN
|
|
* @date 17/06/2011
|
|
* @par Project
|
|
* Edn
|
|
*
|
|
* @par Copyright
|
|
* Copyright 2010 Edouard DUPIN, all right reserved
|
|
*
|
|
* This software is distributed in the hope that it will be useful, but WITHOUT
|
|
* ANY WARRANTY.
|
|
*
|
|
* Licence summary :
|
|
* You can modify and redistribute the sources code and binaries.
|
|
* You can send me the bug-fix
|
|
* You can not earn money with this Software (if the source extract from Edn
|
|
* represent less than 50% of original Sources)
|
|
* Term of the licence in in the file licence.txt.
|
|
*
|
|
*******************************************************************************
|
|
*/
|
|
|
|
#include "tools_debug.h"
|
|
#include "ToolBar.h"
|
|
#include "ClipBoard.h"
|
|
|
|
static void CB_menuGenerique(GtkMenuItem *menu_item, gpointer data)
|
|
{
|
|
//EDN_INFO("basic menue_event");
|
|
messageData_ts * msg = (messageData_ts*)data;
|
|
// broacast message :
|
|
GeneralSendMessage(msg->msgId, msg->dataId);
|
|
}
|
|
|
|
|
|
|
|
ToolBar::ToolBar(void) : MsgBroadcast("Tool bar", EDN_CAT_GUI)
|
|
{
|
|
m_mainWidget = gtk_toolbar_new();
|
|
# ifdef USE_GTK_VERSION_2_0
|
|
gtk_toolbar_set_orientation(GTK_TOOLBAR(m_mainWidget), GTK_ORIENTATION_VERTICAL);
|
|
# endif
|
|
// Modification de la taille des icones
|
|
gtk_toolbar_set_icon_size(GTK_TOOLBAR(m_mainWidget), GTK_ICON_SIZE_BUTTON);
|
|
// Affichage uniquement des icones
|
|
gtk_toolbar_set_style(GTK_TOOLBAR(m_mainWidget), GTK_TOOLBAR_ICONS);
|
|
|
|
Add(GTK_STOCK_NEW, "Nouveau", EDN_MSG__NEW);
|
|
Add(GTK_STOCK_OPEN, "Ouvrir", EDN_MSG__GUI_SHOW_OPEN_FILE);
|
|
AddSeparator();
|
|
Add(GTK_STOCK_SAVE, "Enregistrer", EDN_MSG__CURRENT_SAVE);
|
|
Add(GTK_STOCK_SAVE_AS, "Enregistrer sous", EDN_MSG__CURRENT_SAVE_AS);
|
|
AddSeparator();
|
|
Add(GTK_STOCK_QUIT, "Quitter");
|
|
}
|
|
|
|
ToolBar::~ToolBar(void)
|
|
{
|
|
|
|
}
|
|
|
|
void ToolBar::OnMessage(int32_t id, int32_t dataID)
|
|
{
|
|
//EDN_INFO("ReceiveMessage");
|
|
}
|
|
|
|
void ToolBar::AddSeparator(void)
|
|
{
|
|
# ifdef USE_GTK_VERSION_3_0
|
|
# elif defined( USE_GTK_VERSION_2_0)
|
|
gtk_toolbar_append_space(GTK_TOOLBAR(m_mainWidget));
|
|
# endif
|
|
}
|
|
|
|
|
|
void ToolBar::Add(const char * title, const char * labelHelp, messageType_te id, bool enable)
|
|
{
|
|
messageData_ts * message = new messageData_ts;
|
|
message->msgId = id;
|
|
message->dataId = -1;
|
|
m_message.PushBack(message);
|
|
# ifdef USE_GTK_VERSION_3_0
|
|
# elif defined( USE_GTK_VERSION_2_0)
|
|
gtk_toolbar_insert_stock(GTK_TOOLBAR(m_mainWidget), title, labelHelp, NULL, G_CALLBACK(CB_menuGenerique), message, -1);
|
|
# endif
|
|
}
|
|
|
|
|
|
|
|
|