Mercurial > boomslang
comparison pyntnclick/tools/rect_drawer.py @ 663:b67fdd4a152d pyntnclick
Readd buttons to rect_drawer - now with extra crashy bits
author | Neil Muller <neil@dip.sun.ac.za> |
---|---|
date | Sun, 12 Feb 2012 16:46:57 +0200 |
parents | 6daaeffb37d1 |
children | d1c1253fcd77 |
comparison
equal
deleted
inserted
replaced
662:6daaeffb37d1 | 663:b67fdd4a152d |
---|---|
534 def draw_all(self, surface): | 534 def draw_all(self, surface): |
535 self.set_text('Mode : %s' % self.app_image.mode) | 535 self.set_text('Mode : %s' % self.app_image.mode) |
536 super(ModeLabel, self).draw_all(surface) | 536 super(ModeLabel, self).draw_all(surface) |
537 | 537 |
538 | 538 |
539 def make_button(text, action, ypos): | 539 def make_button(text, gd, action, ypos): |
540 button = Button(text, action=action, font=get_font(15, 'VeraBd.ttf')) | 540 rect = pygame.rect.Rect(0, 0, constants.menu_width, |
541 button.align = 'l' | 541 constants.menu_button_height) |
542 button.rect = pygame.rect.Rect(0, 0, constants.menu_width, | 542 rect.move_ip(805, ypos) |
543 constants.menu_button_height) | 543 button = TextButton(rect, gd, text, fontname='Vera.ttf', fontsize=12, |
544 button.rect.move_ip(805, ypos) | 544 color=pygame.color.Color(255, 255, 0), border=1, padding=3) |
545 button.add_callback('clicked', action) | |
545 return button | 546 return button |
546 | 547 |
547 | 548 |
548 class RectApp(Container): | 549 class RectApp(Container): |
549 """The actual rect drawer main app""" | 550 """The actual rect drawer main app""" |
552 | 553 |
553 state = gd.initial_state() | 554 state = gd.initial_state() |
554 | 555 |
555 self.image = AppImage(gd, state) | 556 self.image = AppImage(gd, state) |
556 self.add(self.image) | 557 self.add(self.image) |
557 mode_label = ModeLabel(pygame.Rect((805, 0), (200, 100)), | 558 mode_label = ModeLabel(pygame.Rect((805, 0), (200, 25)), |
558 self.gd, self.image) | 559 self.gd, self.image) |
559 self.add(mode_label) | 560 self.add(mode_label) |
561 y = mode_label.rect.height | |
562 draw = make_button('Draw Rect', gd, self.image.draw_mode, y) | |
563 self.add(draw) | |
564 y += draw.rect.height | |
565 load_image = make_button("Load image", gd, self.image.image_load, y) | |
566 self.add(load_image) | |
567 y += load_image.rect.height | |
568 add_image = make_button("Place/Move images", gd, | |
569 self.image.image_mode, y) | |
570 add_image.enabled = False | |
571 self.add(add_image) | |
572 self.image.place_image_menu = add_image | |
573 y += add_image.rect.height | |
574 cycle = make_button("Cycle interacts", gd, self.image.cycle_mode, y) | |
575 self.add(cycle) | |
576 y += cycle.rect.height | |
577 delete = make_button("Delete Objects", gd, self.image.del_mode, y) | |
578 self.add(delete) | |
579 y += delete.rect.height | |
580 #palette = AppPalette(self.image) | |
581 #palette.rect.move_ip(810, y) | |
582 #self.add(palette) | |
583 #y += palette.rect.height | |
584 print_rects = make_button("Print objects", gd, | |
585 self.image.print_objs, y) | |
586 self.add(print_rects) | |
587 y += print_rects.rect.height | |
588 toggle_things = make_button("Show Things (t)", gd, | |
589 self.image.toggle_things, y) | |
590 self.add(toggle_things) | |
591 y += toggle_things.rect.height | |
592 toggle_thing_rects = make_button("Show Thing Rects (r)", gd, | |
593 self.image.toggle_thing_rects, y) | |
594 self.add(toggle_thing_rects) | |
595 y += toggle_thing_rects.rect.height | |
596 toggle_images = make_button("Show Images (i)", gd, | |
597 self.image.toggle_images, y) | |
598 self.add(toggle_images) | |
599 y += toggle_images.rect.height | |
600 trans_images = make_button("Opaque Images (o)", gd, | |
601 self.image.toggle_trans_images, y) | |
602 self.add(trans_images) | |
603 y += trans_images.rect.height | |
604 toggle_rects = make_button("Show Drawn Rects (d)", gd, | |
605 self.image.toggle_rects, y) | |
606 self.add(toggle_rects) | |
607 y += toggle_rects.rect.height | |
608 toggle_toolbar = make_button("Show Toolbar (b)", gd, | |
609 self.image.toggle_toolbar, y) | |
610 self.add(toggle_toolbar) | |
611 y += toggle_toolbar.rect.height | |
612 toggle_anim = make_button("Show Animations (a)", gd, | |
613 self.image.toggle_anim, y) | |
614 self.add(toggle_anim) | |
615 y += toggle_anim.rect.height | |
616 toggle_zoom = make_button("Zoom (z)", gd, self.image.toggle_zoom, y) | |
617 self.add(toggle_zoom) | |
618 y += toggle_zoom.rect.height | |
619 quit_but = make_button("Quit", gd, self.quit, 570) | |
620 self.add(quit_but) | |
621 | |
622 def quit(self, ev, widget): | |
623 pygame.event.post(pygame.event.Event(QUIT)) | |
560 | 624 |
561 | 625 |
562 class RectEngine(object): | 626 class RectEngine(object): |
563 """Engine for the rect drawer.""" | 627 """Engine for the rect drawer.""" |
564 | 628 |
593 state = get_initial_state() | 657 state = get_initial_state() |
594 state.set_current_scene(scene) | 658 state.set_current_scene(scene) |
595 state.set_current_detail(detail) | 659 state.set_current_detail(detail) |
596 state.do_check = None | 660 state.do_check = None |
597 | 661 |
598 mode_label = ModeLabel(pygame.Rect((805, 0), (200, 100)), | |
599 self.gd, self.image) | |
600 self.add(mode_label) | |
601 y = mode_label.get_rect().h | |
602 draw = make_button('Draw Rect', self.image.draw_mode, y) | |
603 self.add(draw) | |
604 y += draw.get_rect().h | |
605 load_image = make_button("Load image", self.image.image_load, y) | |
606 self.add(load_image) | |
607 y += load_image.get_rect().h | |
608 add_image = make_button("Place/Move images", self.image.image_mode, y) | |
609 add_image.enabled = False | |
610 self.add(add_image) | |
611 self.image.place_image_menu = add_image | |
612 y += add_image.get_rect().h | |
613 cycle = make_button("Cycle interacts", self.image.cycle_mode, y) | |
614 self.add(cycle) | |
615 y += cycle.get_rect().h | |
616 delete = make_button('Delete Objects', self.image.del_mode, y) | |
617 self.add(delete) | |
618 y += delete.get_rect().h | |
619 palette = AppPalette(self.image) | |
620 palette.rect.move_ip(810, y) | |
621 self.add(palette) | |
622 y += palette.get_rect().h | |
623 print_rects = make_button("Print objects", self.image.print_objs, y) | |
624 self.add(print_rects) | |
625 y += print_rects.get_rect().h | |
626 toggle_things = make_button("Show Things (t)", | |
627 self.image.toggle_things, y) | |
628 self.add(toggle_things) | |
629 y += toggle_things.get_rect().h | |
630 toggle_thing_rects = make_button("Show Thing Rects (r)", | |
631 self.image.toggle_thing_rects, y) | |
632 self.add(toggle_thing_rects) | |
633 y += toggle_thing_rects.get_rect().h | |
634 toggle_images = make_button("Show Images (i)", | |
635 self.image.toggle_images, y) | |
636 self.add(toggle_images) | |
637 y += toggle_images.get_rect().h | |
638 trans_images = make_button("Opaque Images (o)", | |
639 self.image.toggle_trans_images, y) | |
640 self.add(trans_images) | |
641 y += trans_images.get_rect().h | |
642 toggle_rects = make_button("Show Drawn Rects (d)", | |
643 self.image.toggle_rects, y) | |
644 self.add(toggle_rects) | |
645 y += toggle_rects.get_rect().h | |
646 toggle_toolbar = make_button("Show Toolbar (b)", | |
647 self.image.toggle_toolbar, y) | |
648 self.add(toggle_toolbar) | |
649 y += toggle_toolbar.get_rect().h | |
650 toggle_anim = make_button("Show Animations (a)", | |
651 self.image.toggle_anim, y) | |
652 self.add(toggle_anim) | |
653 y += toggle_anim.get_rect().h | |
654 toggle_zoom = make_button("Zoom (z)", self.image.toggle_zoom, y) | |
655 self.add(toggle_zoom) | |
656 y += toggle_zoom.get_rect().h | |
657 quit_but = make_button("Quit", self.quit, 570) | |
658 self.add(quit_but) | |
659 self.set_timer(constants.frame_rate) | 662 self.set_timer(constants.frame_rate) |
660 | 663 |
661 def key_down(self, event): | 664 def key_down(self, event): |
662 # Dispatch to image widget | 665 # Dispatch to image widget |
663 self.image.key_down(event) | 666 self.image.key_down(event) |