X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=synfig-studio%2Ftrunk%2Fsrc%2Fgtkmm%2Fdockmanager.cpp;h=4c156208e57eb9c0c37fbb5eec482bee5feba0c3;hb=9183ee8f6580eda7a4d4221c8f417587f91ebaba;hp=92aef31c044a8d062b4896d2715f577c0849a7ff;hpb=02252941b29de64037116f4d37991a38d9ff0d94;p=synfig.git diff --git a/synfig-studio/trunk/src/gtkmm/dockmanager.cpp b/synfig-studio/trunk/src/gtkmm/dockmanager.cpp index 92aef31..4c15620 100644 --- a/synfig-studio/trunk/src/gtkmm/dockmanager.cpp +++ b/synfig-studio/trunk/src/gtkmm/dockmanager.cpp @@ -5,16 +5,17 @@ ** $Id: dockmanager.cpp,v 1.2 2005/01/12 07:03:42 darco Exp $ ** ** \legal -** Copyright (c) 2002 Robert B. Quattlebaum Jr. +** Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley ** -** This software and associated documentation -** are CONFIDENTIAL and PROPRIETARY property of -** the above-mentioned copyright holder. +** This package is free software; you can redistribute it and/or +** modify it under the terms of the GNU General Public License as +** published by the Free Software Foundation; either version 2 of +** the License, or (at your option) any later version. ** -** You may not copy, print, publish, or in any -** other way distribute this software without -** a prior written agreement with -** the copyright holder. +** This package is distributed in the hope that it will be useful, +** but WITHOUT ANY WARRANTY; without even the implied warranty of +** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +** General Public License for more details. ** \endlegal */ /* ========================================================================= */ @@ -52,13 +53,13 @@ using namespace studio; class studio::DockSettings : public synfigapp::Settings { DockManager* dock_manager; - + public: DockSettings(DockManager* dock_manager):dock_manager(dock_manager) { synfigapp::Main::settings().add_domain(this,"dock"); } - + virtual ~DockSettings() { synfigapp::Main::settings().remove_domain("dock"); @@ -68,16 +69,16 @@ public: { int screen_w(Gdk::screen_width()); int screen_h(Gdk::screen_height()); - + if(key_.size()>6 && String(key_.begin(),key_.begin()+6)=="dialog")try { synfig::String key(key_.begin()+7,key_.end()); - int separator=key.find_first_of('.'); + synfig::String::size_type separator=key.find_first_of('.'); int id(atoi(synfig::String(key.begin(),key.begin()+separator).c_str())); key=synfig::String(key.begin()+separator+1,key.end()); - + DockDialog& dock_dialog(dock_manager->find_dock_dialog(id)); - + if(key=="contents_size") { dock_dialog.rebuild_sizes(); @@ -122,18 +123,18 @@ public: if(key_.size()>6 && String(key_.begin(),key_.begin()+6)=="dialog") { synfig::String key(key_.begin()+7,key_.end()); - int separator=key.find_first_of('.'); + synfig::String::size_type separator=key.find_first_of('.'); int id(atoi(synfig::String(key.begin(),key.begin()+separator).c_str())); key=synfig::String(key.begin()+separator+1,key.end()); - + DockDialog& dock_dialog(dock_manager->find_dock_dialog(id)); if(key=="contents_size") { try { - + vector data; - int n=0; + String::size_type n=0; String value_(value); while(value_.size() && (signed)value_.size()>n && n>=0){ value_=String(value_.begin()+n,value_.end()); @@ -144,9 +145,9 @@ public: data.push_back(size); n=value_.find(" "); - if((unsigned)n!=String::npos) + if(n!=String::npos) n++; - + } dock_dialog.set_dock_book_sizes(data); } @@ -194,7 +195,7 @@ public: } return synfigapp::Settings::set_value(key_,value); } - + virtual KeyList get_key_list()const { synfigapp::Settings::KeyList ret(synfigapp::Settings::get_key_list()); @@ -229,7 +230,7 @@ DockManager::~DockManager() { Dockable* dockable(dockable_list_.back()); synfig::info("DockManager::~DockManager(): Deleting dockable \"%s\"",dockable->get_name().c_str()); - dockable_list_.pop_back(); + dockable_list_.pop_back(); delete dockable; } } @@ -266,7 +267,7 @@ DockManager::find_dockable(const synfig::String& x) for(iter=dockable_list_.begin();iter!=dockable_list_.end();++iter) if((*iter)->get_name()==x) return **iter; - + throw std::runtime_error("DockManager::find_dockable(): not found"); } @@ -303,6 +304,6 @@ DockManager::find_dock_dialog(int id)const for(iter=dock_dialog_list_.begin();iter!=dock_dialog_list_.end();++iter) if((*iter)->get_id()==id) return **iter; - + throw std::runtime_error("DockManager::find_dock_dialog(int id)const: not found"); }