00001 // -*- c++ -*- 00002 //------------------------------------------------------------------------------ 00003 // ActionsMenu.h 00004 //------------------------------------------------------------------------------ 00005 // $Id: ActionsMenu.h,v 1.6 2003/02/07 05:15:08 vlg Exp $ 00006 //------------------------------------------------------------------------------ 00007 // Copyright (c) 2001,2002 by Vladislav Grinchenko 00008 // 00009 // This program is free software; you can redistribute it and/or 00010 // modify it under the terms of the GNU General Public License 00011 // as published by the Free Software Foundation; either version 00012 // 2 of the License, or (at your option) any later version. 00013 //------------------------------------------------------------------------------ 00014 #ifndef ACTIONS_H 00015 #define ACTIONS_H 00016 00017 #include <sigc++/object.h> 00018 #include "gWavMerger-main.h" 00019 00020 class MainWindow; 00021 00022 class ActionsMenu : 00023 public SigC::Object // Sigc++ enabled. Note that there is a conflict here 00024 // between SigC::Object and Gtk::Object and explicit 00025 // scope specifier is required! 00026 { 00027 public: 00028 ActionsMenu (MainWindow& mw_) : m_mw (mw_) { /* no-op */ } 00029 00030 typedef enum { shrink = 0, expand } Direction; 00031 00032 void shift_a_up (); 00033 void shift_a_down (); 00034 00035 void shift_b_up (); 00036 void shift_b_down (); 00037 00038 private: 00039 void shift (Column s_, Direction d_); 00040 00041 private: 00042 MainWindow& m_mw; 00043 }; 00044 00045 00046 inline void ActionsMenu::shift_a_up () { shift (left_column, shrink); } 00047 inline void ActionsMenu::shift_a_down () { shift (left_column, expand); } 00048 inline void ActionsMenu::shift_b_up () { shift (right_column, shrink); } 00049 inline void ActionsMenu::shift_b_down () { shift (right_column, expand); } 00050 00051 #endif /* ACTIONS_H */