1 /* 2 * This file is part of gtkD. 3 * 4 * gtkD is free software; you can redistribute it and/or modify 5 * it under the terms of the GNU Lesser General Public License 6 * as published by the Free Software Foundation; either version 3 7 * of the License, or (at your option) any later version, with 8 * some exceptions, please read the COPYING file. 9 * 10 * gtkD is distributed in the hope that it will be useful, 11 * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 * GNU Lesser General Public License for more details. 14 * 15 * You should have received a copy of the GNU Lesser General Public License 16 * along with gtkD; if not, write to the Free Software 17 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA 18 */ 19 20 // generated automatically - do not change 21 // find conversion definition on APILookup.txt 22 // implement new conversion functionalities on the wrap.utils pakage 23 24 25 module peas.ActivatableT; 26 27 public import peasc.peas; 28 public import peasc.peastypes; 29 30 31 /** 32 * Interface for activatable plugins. 33 */ 34 public template ActivatableT(TStruct) 35 { 36 /** Get the main Gtk struct */ 37 public PeasActivatable* getActivatableStruct() 38 { 39 return cast(PeasActivatable*)getStruct(); 40 } 41 42 43 /** 44 * Activates the extension on the targetted object. 45 * 46 * On activation, the extension should hook itself to the object 47 * where it makes sense. 48 */ 49 public void activate() 50 { 51 peas_activatable_activate(getActivatableStruct()); 52 } 53 54 /** 55 * Deactivates the extension on the targetted object. 56 * 57 * On deactivation, an extension should remove itself from all the hooks it 58 * used and should perform any cleanup required, so it can be unreffed safely 59 * and without any more effect on the host application. 60 */ 61 public void deactivate() 62 { 63 peas_activatable_deactivate(getActivatableStruct()); 64 } 65 66 /** 67 * Triggers an update of the extension internal state to take into account 68 * state changes in the targetted object, due to some event or user action. 69 */ 70 public void updateState() 71 { 72 peas_activatable_update_state(getActivatableStruct()); 73 } 74 }