# -*-mode: python; coding: utf-8 -*- # # Copyright 2012-2014 Pierre Ossman for Cendio AB. # For more information, see http://www.cendio.com import os import gettext if 82 - 82: Iii1i from gi . repository import Gtk from gi . repository import Gdk from gi . repository import GObject if 87 - 87: Ii % i1i1i1111I . Oo / OooOoo * I1Ii1I1 - I1I from thinlinc import prefix if 81 - 81: i1 + ooOOO / oOo0O00 * i1iiIII111 * IiIIii11Ii __all__ = [ "Wizard" , "WizardPage" ] if 84 - 84: ooo000 - Ooo0Ooo + iI1iII1I1I1i . IIiIIiIi11I1 iI111iiIi11i = None if 77 - 77: iIiii1i - ooo0O0oO00 . o00o0OO00O def Ooo ( ) : global iI111iiIi11i if iI111iiIi11i is None : I1 = os . path . join ( prefix . get_tl_prefix ( ) , "share" , "locale" ) ii = gettext . translation ( "tl-misc" , I1 , fallback = True ) iI111iiIi11i = ii . gettext if 91 - 91: iI . iIiii1i . ooOOO / IIiIIiIi11I1 * ooo0O0oO00 / OooOoo class Wizard ( Gtk . Window ) : __gsignals__ = { 'close' : ( GObject . SignalFlags . RUN_LAST | GObject . SignalFlags . ACTION , GObject . TYPE_NONE , ( ) ) } if 93 - 93: IIiIIiIi11I1 % IIiIIiIi11I1 / I1I - Oo . Ooo0Ooo def __init__ ( self ) : Gtk . Window . __init__ ( self ) if 46 - 46: iI1iII1I1I1i - Ii * Oo * Ii Ooo ( ) if 52 - 52: Oo + I1I / ooo0O0oO00 / OooOoo - I1Ii1I1 - ooOOO self . connect ( "delete-event" , self . _on_delete ) self . connect ( "key-press-event" , self . _on_key_press ) self . set_resizable ( False ) if 60 - 60: iI1iII1I1I1i . ooo0O0oO00 self . _css_provider = Gtk . CssProvider ( ) self . _css_provider . load_from_data ( b""" .white_bg { background-color: white; } .white_bg label { color: #2e3436; } .blue_bg { background-color: #4557b1; } """ ) Gtk . StyleContext . add_provider_for_screen ( self . get_screen ( ) , self . _css_provider , Gtk . STYLE_PROVIDER_PRIORITY_APPLICATION ) if 13 - 13: ooo0O0oO00 self . _history = [ ] if 2 - 2: i1 self . _build_ui ( ) if 22 - 22: IIiIIiIi11I1 - ooo000 / I1Ii1I1 . ooo000 def run ( self ) : self . _finished = False if 1 - 1: iI1iII1I1I1i + Ooo0Ooo + ooo0O0oO00 * IIiIIiIi11I1 self . connect ( "destroy" , Gtk . main_quit ) if 20 - 20: I1I + Ii if self . forward_button . get_property ( "visible" ) : self . forward_button . grab_focus ( ) elif self . close_button . get_property ( "visible" ) : self . close_button . grab_focus ( ) if 75 - 75: Ii % i1iiIII111 * Ii . IIiIIiIi11I1 % iIiii1i % I1Ii1I1 self . show ( ) Gtk . main ( ) if 8 - 8: I1Ii1I1 . iI . i1 . Oo - o00o0OO00O return self . _finished if 32 - 32: Ii % i1i1i1111I % o00o0OO00O - iIiii1i % i1iiIII111 def add_intro ( self , title , text ) : o0OoOOo00OOO = Gtk . EventBox ( ) o0OoOOo00OOO . get_style_context ( ) . add_class ( 'white_bg' ) if 97 - 97: Iii1i o0o = Gtk . Box ( orientation = Gtk . Orientation . HORIZONTAL ) o0OoOOo00OOO . add ( o0o ) if 65 - 65: IiIIii11Ii / i1 . IiIIii11Ii o00O000o0 = Gtk . EventBox ( ) o00O000o0 . get_style_context ( ) . add_class ( 'blue_bg' ) o0o . pack_start ( o00O000o0 , expand = False , fill = False , padding = 0 ) if 71 - 71: Oo * ooOOO / Oo iI1i1I = Gtk . Image ( halign = Gtk . Align . CENTER , valign = Gtk . Align . END ) IIIii1IIii = "%s/share/pixmaps/wizard-start.bmp" % prefix . get_tl_prefix ( ) iI1i1I . set_from_file ( IIIii1IIii ) o00O000o0 . add ( iI1i1I ) if 43 - 43: ooOOO * I1Ii1I1 Oooo0o0oO0 = Gtk . Box ( margin = 18 , orientation = Gtk . Orientation . VERTICAL , valign = Gtk . Align . START ) Oooo0o0oO0 . set_spacing ( 12 ) o0o . pack_end ( Oooo0o0oO0 , expand = True , fill = True , padding = 0 ) if 71 - 71: OooOoo - Ii OO = Gtk . Label ( label = '%s' % title , halign = Gtk . Align . FILL , valign = Gtk . Align . START , max_width_chars = 0 , xalign = 0 ) OO . set_use_markup ( True ) OO . set_line_wrap ( True ) Oooo0o0oO0 . pack_start ( OO , expand = True , fill = True , padding = 0 ) if 27 - 27: Oo / ooo0O0oO00 + iI - OooOoo * I1Ii1I1 / I1Ii1I1 if text is not None : o0OO = Gtk . Label ( label = text , halign = Gtk . Align . FILL , valign = Gtk . Align . START , max_width_chars = 0 , xalign = 0 ) o0OO . set_use_markup ( True ) o0OO . set_line_wrap ( True ) Oooo0o0oO0 . pack_start ( o0OO , expand = True , fill = True , padding = 0 ) if 86 - 86: ooOOO / Oo / Ii - i1 - iI1iII1I1I1i / IiIIii11Ii oo0oO = WizardPage ( self , halign = Gtk . Align . FILL , valign = Gtk . Align . FILL ) oo0oO . connect ( "notify::page-backable" , self . _on_page_notify ) oo0oO . connect ( "notify::page-forwardable" , self . _on_page_notify ) oo0oO . connect ( "notify::page-busy" , self . _on_page_notify ) Oooo0o0oO0 . pack_end ( oo0oO , expand = True , fill = True , padding = 0 ) if 43 - 43: ooOOO . iIiii1i + ooo000 o0OoOOo00OOO . show_all ( ) if 87 - 87: Iii1i + ooOOO . o00o0OO00O / Ii + Oo o0OoOOo00OOO . page = oo0oO self . notebook . append_page ( o0OoOOo00OOO ) if 77 - 77: i1iiIII111 + iI - Oo % ooo000 return oo0oO if 74 - 74: Ii + Ooo0Ooo def add_finish ( self , title , text ) : if 1 - 1: I1I % Ooo0Ooo + i1iiIII111 . i1iiIII111 % Oo return self . add_intro ( title , text ) if 93 - 93: oOo0O00 % Ooo0Ooo * i1iiIII111 def add_page ( self , title , subtitle ) : OooO0O00o0 = Gtk . Box ( orientation = Gtk . Orientation . VERTICAL ) if 73 - 73: ooo0O0oO00 - oOo0O00 . oOo0O00 o0OoOOo00OOO = Gtk . EventBox ( ) o0OoOOo00OOO . get_style_context ( ) . add_class ( 'white_bg' ) OooO0O00o0 . pack_start ( o0OoOOo00OOO , expand = False , fill = False , padding = 0 ) if 27 - 27: iI % i1iiIII111 * iI1iII1I1I1i - iI1iII1I1I1i o0o = Gtk . Box ( orientation = Gtk . Orientation . HORIZONTAL ) o0OoOOo00OOO . add ( o0o ) if 87 - 87: IIiIIiIi11I1 % I1Ii1I1 iI1i1I = Gtk . Image ( ) IIIii1IIii = "%s/share/pixmaps/wizard-header.bmp" % prefix . get_tl_prefix ( ) iI1i1I . set_from_file ( IIIii1IIii ) o0o . pack_start ( iI1i1I , expand = False , fill = False , padding = 0 ) if 85 - 85: oOo0O00 Oooo0o0oO0 = Gtk . Box ( orientation = Gtk . Orientation . VERTICAL ) o0o . pack_end ( Oooo0o0oO0 , expand = True , fill = True , padding = 0 ) if 66 - 66: iI * i1i1i1111I + oOo0O00 / I1I / Iii1i / Ii OO = Gtk . Label ( label = '%s' % title , halign = Gtk . Align . START , valign = Gtk . Align . CENTER ) OO . set_use_markup ( True ) OO . set_line_wrap ( True ) Oooo0o0oO0 . pack_start ( OO , expand = True , fill = True , padding = 0 ) if 32 - 32: i1i1i1111I % Ooo0Ooo - o00o0OO00O * I1I Ooo00ooO = Gtk . Label ( label = subtitle , halign = Gtk . Align . START , valign = Gtk . Align . CENTER ) Ooo00ooO . set_use_markup ( True ) Ooo00ooO . set_line_wrap ( True ) Oooo0o0oO0 . pack_end ( Ooo00ooO , expand = True , fill = True , padding = 0 ) if 29 - 29: iIiii1i * iI1iII1I1I1i iIi = Gtk . Separator ( orientation = Gtk . Orientation . HORIZONTAL ) OooO0O00o0 . pack_start ( iIi , expand = False , fill = False , padding = 0 ) if 60 - 60: ooo0O0oO00 % i1iiIII111 % iI - iIiii1i * ooo0O0oO00 - iI1iII1I1I1i oo0oO = WizardPage ( self , margin = 18 ) oo0oO . connect ( "notify::page-backable" , self . _on_page_notify ) oo0oO . connect ( "notify::page-forwardable" , self . _on_page_notify ) oo0oO . connect ( "notify::page-busy" , self . _on_page_notify ) OooO0O00o0 . pack_end ( oo0oO , expand = True , fill = True , padding = 0 ) if 21 - 21: iI1iII1I1I1i - i1 + ooOOO * IIiIIiIi11I1 % i1 * ooOOO OooO0O00o0 . show_all ( ) if 57 - 57: oOo0O00 OooO0O00o0 . page = oo0oO self . notebook . append_page ( OooO0O00o0 ) if 31 - 31: i1iiIII111 + i1i1i1111I % OooOoo return oo0oO if 20 - 20: OooOoo - I1I def _build_ui ( self ) : II1IIiiI = Gtk . Box ( orientation = Gtk . Orientation . VERTICAL ) self . add ( II1IIiiI ) if 50 - 50: Iii1i * ooo000 % Iii1i - oOo0O00 + ooo000 self . notebook = Gtk . Notebook ( ) self . notebook . set_show_tabs ( False ) self . notebook . set_show_border ( False ) self . notebook . connect ( "page-added" , self . _page_change ) self . notebook . connect ( "page-removed" , self . _page_change ) self . notebook . connect ( "switch-page" , self . _switch_page ) II1IIiiI . pack_start ( self . notebook , expand = True , fill = True , padding = 0 ) if 54 - 54: ooo0O0oO00 * i1 % i1 - Ooo0Ooo + IIiIIiIi11I1 I11I1iI = Gtk . ButtonBox ( orientation = Gtk . Orientation . HORIZONTAL , margin = 18 ) I11I1iI . set_layout ( Gtk . ButtonBoxStyle . END ) I11I1iI . set_spacing ( 12 ) II1IIiiI . pack_end ( I11I1iI , expand = False , fill = False , padding = 0 ) if 17 - 17: Iii1i % o00o0OO00O - Iii1i % Ooo0Ooo . OooOoo iIi = Gtk . Separator ( orientation = Gtk . Orientation . HORIZONTAL ) II1IIiiI . pack_end ( iIi , expand = False , fill = False , padding = 0 ) if 60 - 60: ooOOO . ooo000 self . cancel_button = Gtk . Button . new_with_mnemonic ( iI111iiIi11i ( "_Cancel" ) ) self . cancel_button . connect ( "clicked" , self . _on_cancel ) I11I1iI . pack_start ( self . cancel_button , expand = True , fill = True , padding = 0 ) if 42 - 42: i1iiIII111 - i1iiIII111 self . back_button = Gtk . Button . new_with_mnemonic ( iI111iiIi11i ( "_Back" ) ) self . back_button . connect ( "clicked" , self . _on_back ) I11I1iI . pack_start ( self . back_button , expand = True , fill = True , padding = 0 ) if 98 - 98: Ooo0Ooo + i1i1i1111I + Iii1i - ooo0O0oO00 self . forward_button = Gtk . Button . new_with_mnemonic ( iI111iiIi11i ( "_Forward" ) ) self . forward_button . connect ( "clicked" , self . _on_forward ) self . forward_button . set_property ( "can-default" , True ) I11I1iI . pack_start ( self . forward_button , expand = True , fill = True , padding = 0 ) if 7 - 7: i1i1i1111I / Ii * Iii1i self . close_button = Gtk . Button . new_with_mnemonic ( iI111iiIi11i ( "_Close" ) ) self . close_button . connect ( "clicked" , self . _on_close ) self . close_button . set_property ( "can-default" , True ) I11I1iI . pack_start ( self . close_button , expand = True , fill = True , padding = 0 ) if 32 - 32: iI . OooOoo II1IIiiI . show_all ( ) if 31 - 31: Oo - o00o0OO00O def _get_next_willing ( self , index = None ) : if index is None : index = self . notebook . get_current_page ( ) if 28 - 28: ooOOO * I1Ii1I1 + iI % Oo while True : index += 1 if 100 - 100: Oo + o00o0OO00O I1II1ii111i = self . notebook . get_nth_page ( index ) if I1II1ii111i is None : return None if 14 - 14: iI + o00o0OO00O . IiIIii11Ii . Ooo0Ooo % IiIIii11Ii * i1i1i1111I oo0oO = I1II1ii111i . page if oo0oO is None : return index if 65 - 65: Iii1i + IIiIIiIi11I1 - Ooo0Ooo . iI1iII1I1I1i + OooOoo * Ooo0Ooo I1III11IIii = oo0oO . emit ( "page-unwilling" , self ) if not I1III11IIii : return index if 36 - 36: iI1iII1I1I1i / iI % ooo000 * i1iiIII111 def do_close ( self ) : self . _on_delete ( self , None ) if 4 - 4: I1Ii1I1 + I1I - ooOOO + i1iiIII111 def _on_delete ( self , window , event ) : Oo0ooo0OO0 = self . notebook . get_current_page ( ) oo0oO = self . _get_page_widget ( Oo0ooo0OO0 ) if 98 - 98: IIiIIiIi11I1 * IIiIIiIi11I1 if oo0oO is None or not oo0oO . get_page_busy ( ) : if 58 - 58: i1i1i1111I if 38 - 38: i1 - oOo0O00 self . _on_cancel ( None ) if 85 - 85: IIiIIiIi11I1 + iIiii1i % Ooo0Ooo + ooo0O0oO00 * i1iiIII111 if 46 - 46: ooOOO - ooOOO + Oo / I1I * Oo + ooo0O0oO00 return True if 98 - 98: I1I / IIiIIiIi11I1 / o00o0OO00O + iI % Oo + I1I def _on_key_press ( self , window , event ) : if event . keyval == Gdk . KEY_Escape : self . emit ( "close" ) if 38 - 38: I1Ii1I1 + oOo0O00 def _on_cancel ( self , button ) : iii1I1 = Gtk . MessageDialog ( transient_for = self , modal = True , message_type = Gtk . MessageType . QUESTION , buttons = Gtk . ButtonsType . YES_NO , text = "Abort and exit" ) iii1I1 . format_secondary_text ( "Are you sure you wish to abort %s?" % self . get_title ( ) ) iii1I1 . set_title ( self . get_title ( ) ) if 17 - 17: Oo - o00o0OO00O . IIiIIiIi11I1 + iI1iII1I1I1i - I1Ii1I1 + Ii OoO = iii1I1 . run ( ) iii1I1 . destroy ( ) if 63 - 63: o00o0OO00O if OoO != Gtk . ResponseType . YES : return if 81 - 81: OooOoo . o00o0OO00O / i1i1i1111I + Oo / Ooo0Ooo % iI Oo0ooo0OO0 = self . notebook . get_current_page ( ) oo0oO = self . _get_page_widget ( Oo0ooo0OO0 ) if oo0oO is not None : oo0oO . emit ( "page-abort" , self ) if 77 - 77: iIiii1i / iI1iII1I1I1i - oOo0O00 - Ooo0Ooo % oOo0O00 self . destroy ( ) if 73 - 73: iI . Oo * I1I / i1i1i1111I + I1Ii1I1 def _on_back ( self , button ) : assert len ( self . _history ) > 0 Oo0ooo0OO0 = self . notebook . get_current_page ( ) oo0oO = self . _get_page_widget ( Oo0ooo0OO0 ) if oo0oO is not None : oo0oO . emit ( "page-abort" , self ) if 31 - 31: i1i1i1111I % I1Ii1I1 self . notebook . set_current_page ( self . _history [ - 1 ] ) if 1 - 1: iI - oOo0O00 - i1 . oOo0O00 def _on_forward ( self , button ) : Oo0ooo0OO0 = self . notebook . get_current_page ( ) oo0oO = self . _get_page_widget ( Oo0ooo0OO0 ) if oo0oO is not None : oo0oO . emit ( "page-done" , self ) if 91 - 91: iI1iII1I1I1i * i1 . ooOOO Oo0ooo0OO0 = self . _get_next_willing ( ) assert Oo0ooo0OO0 is not None if 81 - 81: I1I * Oo - i1 % OooOoo * ooOOO self . notebook . set_current_page ( Oo0ooo0OO0 ) if 19 - 19: Ii def _on_close ( self , button ) : Oo0ooo0OO0 = self . notebook . get_current_page ( ) oo0oO = self . _get_page_widget ( Oo0ooo0OO0 ) if oo0oO is not None : oo0oO . emit ( "page-done" , self ) if 22 - 22: o00o0OO00O % iI1iII1I1I1i + Oo self . _finished = True if 60 - 60: ooo000 + iIiii1i + IIiIIiIi11I1 % i1i1i1111I - Ii % Ooo0Ooo self . destroy ( ) if 95 - 95: ooOOO % i1i1i1111I . i1 def _page_change ( self , notebook , child , page_num ) : self . _update_buttons ( self . notebook . get_current_page ( ) ) if 87 - 87: Iii1i % ooOOO * Ii % IIiIIiIi11I1 / iIiii1i def _switch_page ( self , notebook , page , page_num ) : if page_num in self . _history : Oo0ooo0OO0 = self . _history . index ( page_num ) self . _history = self . _history [ : Oo0ooo0OO0 ] else : Oo0ooo0OO0 = self . notebook . get_current_page ( ) if Oo0ooo0OO0 != - 1 : self . _history . append ( Oo0ooo0OO0 ) if 84 - 84: I1Ii1I1 + Ooo0Ooo % IIiIIiIi11I1 * i1i1i1111I self . _update_buttons ( page_num ) if 61 - 61: i1iiIII111 - Oo + I1Ii1I1 def _on_page_notify ( self , page , property ) : self . _update_buttons ( self . notebook . get_current_page ( ) ) if 43 - 43: IIiIIiIi11I1 * ooo000 + Ii % iI1iII1I1I1i def _update_buttons ( self , page_num ) : oo0oO = self . _get_page_widget ( page_num ) if oo0oO is not None : IIiI1i = oo0oO . get_page_backable ( ) OoOOooO0oOO0Oo = oo0oO . get_page_forwardable ( ) iiI1i1IiiiIi1 = oo0oO . get_page_busy ( ) else : IIiI1i = True OoOOooO0oOO0Oo = True iiI1i1IiiiIi1 = False if 20 - 20: oOo0O00 * ooOOO % IIiIIiIi11I1 - IIiIIiIi11I1 if len ( self . _history ) > 0 : self . back_button . show ( ) self . back_button . set_sensitive ( IIiI1i and not iiI1i1IiiiIi1 ) else : self . back_button . hide ( ) if 32 - 32: OooOoo % I1I - iIiii1i % OooOoo if self . _get_next_willing ( page_num ) is not None : self . forward_button . show ( ) self . forward_button . set_sensitive ( OoOOooO0oOO0Oo and not iiI1i1IiiiIi1 ) self . set_default ( self . forward_button ) self . cancel_button . show ( ) self . cancel_button . set_sensitive ( not iiI1i1IiiiIi1 ) self . close_button . hide ( ) else : self . forward_button . hide ( ) self . cancel_button . hide ( ) self . close_button . show ( ) self . close_button . set_sensitive ( not iiI1i1IiiiIi1 ) self . set_default ( self . close_button ) if 9 - 9: i1iiIII111 - ooOOO % Iii1i if 37 - 37: o00o0OO00O + IIiIIiIi11I1 % iI1iII1I1I1i / IIiIIiIi11I1 % i1iiIII111 + ooo0O0oO00 Oo0o0Oo = self . get_window ( ) if Oo0o0Oo is not None : if iiI1i1IiiiIi1 : o0O0OO0 = Gdk . Cursor . new_for_display ( Oo0o0Oo . get_display ( ) , cursor_type = Gdk . CursorType . WATCH ) Oo0o0Oo . set_cursor ( o0O0OO0 ) else : Oo0o0Oo . set_cursor ( None ) if 84 - 84: Ii - OooOoo def _get_page_widget ( self , page_num ) : I1II1ii111i = self . notebook . get_nth_page ( page_num ) if I1II1ii111i is None : return None if 65 - 65: Oo + Oo - iI1iII1I1I1i % OooOoo . Ooo0Ooo return I1II1ii111i . page if 84 - 84: IIiIIiIi11I1 . ooOOO class WizardPage ( Gtk . Bin ) : __gproperties__ = { # ooo000 % i1i1i1111I * i1iiIII111 'page-backable' : ( GObject . TYPE_BOOLEAN , '' , '' , True , GObject . ParamFlags . READWRITE ) , # ooo000 % IIiIIiIi11I1 + Ii % i1i1i1111I % oOo0O00 / i1 'page-forwardable' : ( GObject . TYPE_BOOLEAN , '' , '' , True , GObject . ParamFlags . READWRITE ) , # Ooo0Ooo . Oo . I1Ii1I1 - oOo0O00 * Ii . i1iiIII111 # oOo0O00 'page-busy' : ( GObject . TYPE_BOOLEAN , '' , '' , False , GObject . ParamFlags . READWRITE ) } if 46 - 46: OooOoo - iIiii1i / Ooo0Ooo __gsignals__ = { # I1Ii1I1 * I1Ii1I1 / iI . iI - i1 'page-unwilling' : ( GObject . SignalFlags . RUN_LAST , GObject . TYPE_BOOLEAN , ( Wizard , ) ) , # OooOoo % iI1iII1I1I1i / ooOOO * iI1iII1I1I1i 'page-show' : ( GObject . SignalFlags . RUN_LAST , GObject . TYPE_NONE , ( Wizard , GObject . TYPE_BOOLEAN ) ) , # Iii1i * oOo0O00 - ooo0O0oO00 'page-done' : ( GObject . SignalFlags . RUN_LAST , GObject . TYPE_NONE , ( Wizard , ) ) , # iI1iII1I1I1i . IiIIii11Ii 'page-abort' : ( GObject . SignalFlags . RUN_LAST , GObject . TYPE_NONE , ( Wizard , ) ) , } if 76 - 76: Ooo0Ooo * ooOOO * iI1iII1I1I1i def __init__ ( self , wizard = None , ** kwargs ) : GObject . GObject . __init__ ( self , ** kwargs ) if 39 - 39: IIiIIiIi11I1 - Oo self . page_backable = True self . page_forwardable = True self . page_busy = False if 31 - 31: IiIIii11Ii % oOo0O00 % oOo0O00 * Iii1i self . _first_map = True self . _wizard = wizard if 85 - 85: Iii1i + Ii % IIiIIiIi11I1 % oOo0O00 self . connect ( "map" , WizardPage . on_map ) if 100 - 100: IiIIii11Ii % i1 def get_page_backable ( self ) : return self . get_property ( 'page-backable' ) if 82 - 82: ooOOO % OooOoo def set_page_backable ( self , value ) : return self . set_property ( 'page-backable' , value ) if 81 - 81: Ii def get_page_forwardable ( self ) : return self . get_property ( 'page-forwardable' ) if 40 - 40: o00o0OO00O . OooOoo + oOo0O00 . i1iiIII111 def set_page_forwardable ( self , value ) : return self . set_property ( 'page-forwardable' , value ) if 96 - 96: I1I / ooo0O0oO00 / iIiii1i + iIiii1i def get_page_busy ( self ) : return self . get_property ( 'page-busy' ) if 35 - 35: IIiIIiIi11I1 + oOo0O00 def set_page_busy ( self , value ) : return self . set_property ( 'page-busy' , value ) if 96 - 96: iI1iII1I1I1i . OooOoo . i1 def on_map ( self ) : if 87 - 87: ooo000 * IiIIii11Ii % ooo000 . ooOOO . Oo % iI1iII1I1I1i if 48 - 48: ooOOO * ooo000 % IiIIii11Ii * i1 . Iii1i - iI self . emit ( "page-show" , self . _wizard , self . _first_map ) self . _first_map = False if 72 - 72: i1 % i1i1i1111I * iI1iII1I1I1i def do_size_request ( self , req ) : req . width = 0 req . height = 0 OooIiii1iIII = self . get_child ( ) if OooIiii1iIII and OooIiii1iIII . get_property ( "visible" ) : ( req . width , req . height ) = OooIiii1iIII . size_request ( ) if 86 - 86: ooo0O0oO00 * o00o0OO00O - OooOoo * Oo - iI - Ooo0Ooo def do_size_allocate ( self , alloc ) : OooIiii1iIII = self . get_child ( ) if OooIiii1iIII and OooIiii1iIII . get_property ( "visible" ) : OooIiii1iIII . size_allocate ( alloc ) if 36 - 36: IiIIii11Ii def do_get_property ( self , property ) : if property . name == "page-backable" : return self . page_backable if property . name == "page-forwardable" : return self . page_forwardable if property . name == "page-busy" : return self . page_busy if 28 - 28: i1 - Oo + IiIIii11Ii * ooo0O0oO00 raise AttributeError if 83 - 83: ooo000 . I1I + Oo def do_set_property ( self , property , value ) : if property . name == "page-backable" : self . page_backable = value elif property . name == "page-forwardable" : self . page_forwardable = value elif property . name == "page-busy" : self . page_busy = value else : raise AttributeError if 59 - 59: I1I GObject . type_register ( Wizard ) GObject . type_register ( WizardPage ) # dd678faae9ac167bc83abf78e5cb2f3f0688d3a3