Subversion Repositories basico

Rev

Rev 380 | Rev 384 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 380 Rev 383
Line 171... Line 171...
171
        dialog = Gtk.MessageDialog(window, 0, Gtk.MessageType.QUESTION,
171
        dialog = Gtk.MessageDialog(window, 0, Gtk.MessageType.QUESTION,
172
            Gtk.ButtonsType.YES_NO, question)
172
            Gtk.ButtonsType.YES_NO, question)
173
        dialog.set_size_request(800, 600);
173
        dialog.set_size_request(800, 600);
174
        content_area = dialog.get_content_area()
174
        content_area = dialog.get_content_area()
175
        vbox = Gtk.VBox()
175
        vbox = Gtk.VBox()
176
        label = Gtk.Label()
-
 
177
        label.set_property('ellipsize', Pango.EllipsizeMode.MIDDLE)
-
 
178
        label.set_property('selectable', True)
-
 
179
        label.set_xalign(0.0)
-
 
180
        label.grab_focus()
-
 
181
        msg = '\t<b>You are about to delete %d SAP Notes:</b>' % len(bag)
-
 
182
        scr = Gtk.ScrolledWindow()
-
 
183
        scr.set_shadow_type(Gtk.ShadowType.NONE)
-
 
184
        scr.set_policy(Gtk.PolicyType.AUTOMATIC, Gtk.PolicyType.AUTOMATIC)
-
 
-
 
176
        # ~ label = Gtk.Label()
-
 
177
        # ~ label.set_property('ellipsize', Pango.EllipsizeMode.MIDDLE)
-
 
178
        # ~ label.set_property('selectable', True)
-
 
179
        # ~ label.set_xalign(0.0)
-
 
180
        # ~ label.grab_focus()
-
 
181
        # ~ msg = '\t<b>You are about to delete %d SAP Notes:</b>' % len(bag)
-
 
182
        # ~ scr = Gtk.ScrolledWindow()
-
 
183
        # ~ scr.set_shadow_type(Gtk.ShadowType.NONE)
-
 
184
        # ~ scr.set_policy(Gtk.PolicyType.AUTOMATIC, Gtk.PolicyType.AUTOMATIC)
185
185
186
        msg += '\n\n'
-
 
187
        for sid in bag:
-
 
188
            msg += '\t%010d - %s\t\n' % (int(sid), escape(self.srvdtb.get_title(sid)))
-
 
189
        msg += '\n'
-
 
190
        label.set_markup(msg)
-
 
191
        scr.add(label)
-
 
192
        vbox.pack_start(scr, True, True, 0)
-
 
-
 
186
        # ~ msg += '\n\n'
-
 
187
        # ~ for sid in bag:
-
 
188
            # ~ msg += '\t%010d - %s\t\n' % (int(sid), escape(self.srvdtb.get_title(sid)))
-
 
189
        # ~ msg += '\n'
-
 
190
        # ~ label.set_markup(msg)
-
 
191
        # ~ scr.add(label)
-
 
192
        sapnotesbox = self.sapnotebox(bag)
-
 
193
        vbox.pack_start(sapnotesbox, True, True, 0)
193
        content_area.pack_start(vbox, True, True, 0)
194
        content_area.pack_start(vbox, True, True, 0)
194
        content_area.show_all()
195
        content_area.show_all()
195
        dialog.set_image(icon)
196
        dialog.set_image(icon)
196
        dialog.format_secondary_text(explanation)
197
        dialog.format_secondary_text(explanation)
197
        response = dialog.run()
198
        response = dialog.run()
Line 315... Line 316...
315
            folder = None
316
            folder = None
316
        dialog.destroy()
317
        dialog.destroy()
317
        return folder
318
        return folder
318
319
319
320
-
 
321
    def sapnotebox(self, lsid):
-
 
322
        box = Gtk.Box()
-
 
323
        box.set_property('margin', 6)
-
 
324
        scr = Gtk.ScrolledWindow()
-
 
325
        scr.set_policy(Gtk.PolicyType.AUTOMATIC, Gtk.PolicyType.AUTOMATIC)
-
 
326
        scr.set_shadow_type(Gtk.ShadowType.IN)
-
 
327
        treeview = Gtk.TreeView()
-
 
328
        scr.add(treeview)
-
 
329
        box.pack_start(scr, True, True, 0)
-
 
330
-
 
331
        model = Gtk.ListStore(
-
 
332
            str,        # sid
-
 
333
            str,        # title
-
 
334
            str,        # component
-
 
335
        )
-
 
336
-
 
337
        # SAP Note Id
-
 
338
        renderer_sid = Gtk.CellRendererText()
-
 
339
        renderer_sid.set_property('xalign', 1.0)
-
 
340
        renderer_sid.set_property('height', 36)
-
 
341
        # ~ renderer_sid.set_property('background', '#F0E3E3')
-
 
342
        column_sid = Gtk.TreeViewColumn('SAP Note', renderer_sid, markup=0)
-
 
343
        column_sid.set_visible(True)
-
 
344
        column_sid.set_sizing(Gtk.TreeViewColumnSizing.AUTOSIZE)
-
 
345
        column_sid.set_expand(False)
-
 
346
        column_sid.set_clickable(True)
-
 
347
        column_sid.set_sort_indicator(True)
-
 
348
        column_sid.set_sort_column_id(0)
-
 
349
        column_sid.set_sort_order(Gtk.SortType.ASCENDING)
-
 
350
        model.set_sort_column_id(0, Gtk.SortType.ASCENDING)
-
 
351
        treeview.append_column(column_sid)
-
 
352
-
 
353
        # SAP Note title
-
 
354
        renderer_title = Gtk.CellRendererText()
-
 
355
        renderer_title.set_property('xalign', 0.0)
-
 
356
        renderer_title.set_property('height', 36)
-
 
357
        renderer_title.set_property('ellipsize', Pango.EllipsizeMode.MIDDLE)
-
 
358
        # ~ renderer_title.set_property('background', '#FFFEEA')
-
 
359
        column_title = Gtk.TreeViewColumn('Title', renderer_title, markup=1)
-
 
360
        column_title.set_visible(True)
-
 
361
        column_title.set_sizing(Gtk.TreeViewColumnSizing.AUTOSIZE)
-
 
362
        column_title.set_expand(True)
-
 
363
        column_title.set_clickable(True)
-
 
364
        column_title.set_sort_indicator(True)
-
 
365
        column_title.set_sort_column_id(1)
-
 
366
        column_title.set_sort_order(Gtk.SortType.ASCENDING)
-
 
367
        model.set_sort_column_id(1, Gtk.SortType.ASCENDING)
-
 
368
        treeview.append_column(column_title)
-
 
369
-
 
370
        # SAP Note component
-
 
371
        renderer_component = Gtk.CellRendererText()
-
 
372
        renderer_component.set_property('xalign', 0.0)
-
 
373
        renderer_component.set_property('height', 36)
-
 
374
        # ~ renderer_component.set_property('background', '#F0E3E3')
-
 
375
        column_component = Gtk.TreeViewColumn('Component', renderer_component, markup=2)
-
 
376
        column_component.set_visible(True)
-
 
377
        column_component.set_sizing(Gtk.TreeViewColumnSizing.AUTOSIZE)
-
 
378
        column_component.set_expand(False)
-
 
379
        column_component.set_clickable(True)
-
 
380
        column_component.set_sort_indicator(True)
-
 
381
        column_component.set_sort_column_id(1)
-
 
382
        column_component.set_sort_order(Gtk.SortType.ASCENDING)
-
 
383
        model.set_sort_column_id(2, Gtk.SortType.ASCENDING)
-
 
384
        treeview.append_column(column_component)
-
 
385
-
 
386
        # Treeview properties
-
 
387
        treeview.set_can_focus(False)
-
 
388
        treeview.set_enable_tree_lines(True)
-
 
389
        treeview.set_headers_visible(True)
-
 
390
        treeview.set_enable_search(True)
-
 
391
        treeview.set_hover_selection(False)
-
 
392
        treeview.set_grid_lines(Gtk.TreeViewGridLines.NONE)
-
 
393
        treeview.set_enable_tree_lines(True)
-
 
394
        treeview.set_level_indentation(10)
-
 
395
-
 
396
        # TreeView sorting
-
 
397
        def sort_function(model, row1, row2, user_data):
-
 
398
            sort_column = 0
-
 
399
-
 
400
            value1 = model.get_value(row1, sort_column)
-
 
401
            value2 = model.get_value(row2, sort_column)
-
 
402
-
 
403
            if value1 < value2:
-
 
404
                return -1
-
 
405
            elif value1 == value2:
-
 
406
                return 0
-
 
407
            else:
-
 
408
                return 1
-
 
409
-
 
410
        self.sorted_model = Gtk.TreeModelSort(model=model)
-
 
411
        self.sorted_model.set_sort_func(0, sort_function, None)
-
 
412
-
 
413
        # Selection
-
 
414
        selection = treeview.get_selection()
-
 
415
        selection.set_mode(Gtk.SelectionMode.NONE)
-
 
416
-
 
417
        # Set model (filtered and sorted)
-
 
418
        treeview.set_model(self.sorted_model)
-
 
419
-
 
420
        for sid in lsid:
-
 
421
            ssid = str(int(sid))
-
 
422
            title = self.srvdtb.get_title(sid)
-
 
423
            component = self.srvdtb.get_component(sid)
-
 
424
            model.append([ssid, escape(title), component])
-
 
425
-
 
426
        box.show_all()
-
 
427
-
 
428
        return box