예제 #1
0
    def export_view(self):
        if self.dungeon.valid_dungeon():
            data = self.dungeon.export()
            filename = self.dungeon.name

            JournalIntegration.export_textfile( self, filename, self.dungeon.id, data )
            self._alert( _( "Dungeon Exported to Journal"), filename )

        else:
            self._alert( _( "Export Failed"), _("Invalid dungeon configuration") )
예제 #2
0
    def export_view(self):
        if self.dungeon.valid_dungeon():
            data = self.dungeon.export()
            filename = self.dungeon.name

            JournalIntegration.export_textfile(self, filename, self.dungeon.id,
                                               data)
            self._alert(_("Dungeon Exported to Journal"), filename)

        else:
            self._alert(_("Export Failed"), _("Invalid dungeon configuration"))
예제 #3
0
    def show_dungeon_selection(self):
        window_container = gtk.VBox()
        frame = gtk.Frame( _("Load Dungeon") )
        file_container = gtk.VBox()

        ##LOAD FILE LIST HERE
        file_list = JournalIntegration.list_fh_files()

        for dfile in file_list:
            row = gtk.HBox()
            label = gtk.Label(dfile.metadata['title'])
            row.pack_start( label, False )

            button = gtk.Button(_("Load"))
            button.connect( 'clicked', self.load_dungeon, dfile )
            row.pack_end(button, False)

            file_container.pack_start( row, False )

        frame.add( make_it_scroll( file_container ) )
        window_container.pack_start( frame )

        room_center = gtk.HBox()
        room_center.pack_start( gtk.Label() )
        room_center.pack_start( window_container )
        room_center.pack_start( gtk.Label() )

        self.set_gui_view( room_center )
예제 #4
0
    def show_dungeon_selection(self):
        window_container = gtk.VBox()
        frame = gtk.Frame(_("Load Dungeon"))
        file_container = gtk.VBox()

        ##LOAD FILE LIST HERE
        file_list = JournalIntegration.list_fh_files()

        for dfile in file_list:
            row = gtk.HBox()
            label = gtk.Label(dfile.metadata['title'])
            row.pack_start(label, False)

            button = gtk.Button(_("Load"))
            button.connect('clicked', self.load_dungeon, dfile)
            row.pack_end(button, False)

            file_container.pack_start(row, False)

        frame.add(make_it_scroll(file_container))
        window_container.pack_start(frame)

        room_center = gtk.HBox()
        room_center.pack_start(gtk.Label())
        room_center.pack_start(window_container)
        room_center.pack_start(gtk.Label())

        self.set_gui_view(room_center)
예제 #5
0
    def read_file(self, file_path):
        if hasattr(self, "SHUT_UP_XO_CALLING_ME"):
            print "CALLED YET AGAIN! (%s)"%file_path
            return

        self.SHUT_UP_XO_CALLING_ME = True
        dgnFile=open(file_path,'r')

        try:
            dungeon_dict = JournalIntegration.do_load( dgnFile )
            self.make_dungeon_from_dict( dungeon_dict )
        except:
            pass

        dgnFile.close()
        return
예제 #6
0
    def read_file(self, file_path):
        if hasattr(self, "SHUT_UP_XO_CALLING_ME"):
            print "CALLED YET AGAIN! (%s)" % file_path
            return

        self.SHUT_UP_XO_CALLING_ME = True
        dgnFile = open(file_path, 'r')

        try:
            dungeon_dict = JournalIntegration.do_load(dgnFile)
            self.make_dungeon_from_dict(dungeon_dict)
        except:
            pass

        dgnFile.close()
        return
예제 #7
0
 def load_dungeon(self, widget, file_data):
     #try:
         dungeon_dict = JournalIntegration.load_dungeon( file_data )
         self.make_dungeon_from_dict( dungeon_dict )
예제 #8
0
    def _get_dungeon_prop_box(self, new_prop=True):
        window_container = gtk.VBox()

        ## Dungeon Properties
        ###############
        frame = gtk.Frame(_("Dungeon Properties"))

        container =  gtk.VBox()

        # Name
        row = gtk.HBox()
        label = gtk.Label(_("Name:"))
        label.set_alignment( 0, 0.5)
        row.pack_start( label )
        name = gtk.Entry()
        row.pack_end( name )
        container.pack_start( row, False )

        # Theme
        row = gtk.HBox()
        label = gtk.Label(_("Theme:"))
        label.set_alignment( 0, 0.5)
        row.pack_start( label )
        theme = gtk.combo_box_new_text()
        for option in THEME_NAME:
            theme.append_text( option )
        theme.set_active( 0 )
        row.pack_end( theme )
        container.pack_start( row, False )

        # Next Dungeon
        row = gtk.HBox()
        label = gtk.Label(_("Next Dungeon:"))
        label.set_alignment( 0, .5)
        row.pack_start( label )

        next_dungeon = gtk.combo_box_new_text()

        file_list = JournalIntegration.list_fh_files()
        file_list_map = {}
        file_list_map["0"] = _("None")
        next_dungeon.append_text( file_list_map["0"] )
        next_dungeon.set_active(0)
        order_map = ["0"]

        for dfile in file_list:
            file_list_map[dfile.metadata['FM_UID']] = dfile.metadata['title']
            next_dungeon.append_text( dfile.metadata['title'] )
            order_map.append( dfile.metadata['FM_UID'] )

        row.pack_start(next_dungeon)
        container.pack_start( row, False )

        frame.add( container )
        window_container.pack_start( frame, False )

        if not new_prop and self.dungeon:
            name.set_text( self.dungeon.name )
            theme.set_active( self.dungeon.theme )
            next_dungeon.set_active( order_map.index( self.dungeon.next ) )

        return (window_container, name, theme, next_dungeon, file_list_map)
예제 #9
0
 def load_dungeon(self, widget, file_data):
     #try:
     dungeon_dict = JournalIntegration.load_dungeon(file_data)
     self.make_dungeon_from_dict(dungeon_dict)
예제 #10
0
    def _get_dungeon_prop_box(self, new_prop=True):
        window_container = gtk.VBox()

        ## Dungeon Properties
        ###############
        frame = gtk.Frame(_("Dungeon Properties"))

        container = gtk.VBox()

        # Name
        row = gtk.HBox()
        label = gtk.Label(_("Name:"))
        label.set_alignment(0, 0.5)
        row.pack_start(label)
        name = gtk.Entry()
        row.pack_end(name)
        container.pack_start(row, False)

        # Theme
        row = gtk.HBox()
        label = gtk.Label(_("Theme:"))
        label.set_alignment(0, 0.5)
        row.pack_start(label)
        theme = gtk.combo_box_new_text()
        for option in THEME_NAME:
            theme.append_text(option)
        theme.set_active(0)
        row.pack_end(theme)
        container.pack_start(row, False)

        # Next Dungeon
        row = gtk.HBox()
        label = gtk.Label(_("Next Dungeon:"))
        label.set_alignment(0, .5)
        row.pack_start(label)

        next_dungeon = gtk.combo_box_new_text()

        file_list = JournalIntegration.list_fh_files()
        file_list_map = {}
        file_list_map["0"] = _("None")
        next_dungeon.append_text(file_list_map["0"])
        next_dungeon.set_active(0)
        order_map = ["0"]

        for dfile in file_list:
            file_list_map[dfile.metadata['FM_UID']] = dfile.metadata['title']
            next_dungeon.append_text(dfile.metadata['title'])
            order_map.append(dfile.metadata['FM_UID'])

        row.pack_start(next_dungeon)
        container.pack_start(row, False)

        frame.add(container)
        window_container.pack_start(frame, False)

        if not new_prop and self.dungeon:
            name.set_text(self.dungeon.name)
            theme.set_active(self.dungeon.theme)
            next_dungeon.set_active(order_map.index(self.dungeon.next))

        return (window_container, name, theme, next_dungeon, file_list_map)