BioPerl

 view release on metacpan or  search on metacpan

examples/tk/gsequence.pl  view on Meta::CPAN

  $feature_spinner[0]->set_adjustment($adj);
  $feature_spinner[0]->set_value($current_feature->start);
  $feature_spinner[0]->show_all();
  $adj = new Gtk::Adjustment($current_feature->end,
			     0,
			     $seq[$current]->length-1,
			     1,
			     1,
			     0
			    );
  $feature_spinner[1]->set_adjustment($adj);
  $feature_spinner[1]->set_value($current_feature->end);
  $feature_spinner[1]->show_all();
}

sub select_feature_region
{
  $seq_edit[$current]->freeze;
  $seq_edit[$current]->select_region($feature_spinner[0]->get_value_as_int(),
			   $feature_spinner[1]->get_value_as_int()+1);
  $seq_edit[$current]->thaw;
}

sub update_feature_window
{
    my ($show_me) = @_;
    $feature_window->show_all() if (defined($show_me));

    $feature_tree->clear_items(0,-1);
    if (!defined($seq[$current]))
    {
	&update_feature_paned2;
	return;
    }

    my ($item_new,$new_subtree);
    foreach ($seq[$current]->top_SeqFeatures)
      {
	  $item_new = new_with_label Gtk::TreeItem( $_->primary_tag );
	  $item_new->set_user_data( $_ );
	  $item_new->signal_connect( 'select', \&select_feature_item );
	  $feature_tree->append( $item_new );
	  if ( $_->sub_SeqFeature )
	  {
	      $new_subtree = new Gtk::Tree();
	      $item_new->set_subtree( $new_subtree );
	      $item_new->signal_connect( 'expand',
					 \&expand_feature_tree,
					 $new_subtree );
	      $item_new->signal_connect( 'collapse', \&collapse_feature_tree );
	  }
	  $item_new->expand();
      }
    $feature_tree->select_item($current_feature_item) 
      if $current_feature_item;
    $feature_tree->show_all();

    &update_feature_paned2;
}

sub store_prefs
{
}

sub update_pref_window
{
  $pref_window->show_all();
}

sub init_pref_window
{
  $pref_window = new Gtk::Dialog();
  $pref_window->set_default_size(500,400);
  $pref_window->set_policy($true,$true,$false);
  $pref_window->border_width( 5 );

  # Create a new notebook, place the position of the tabs
  my $notebook = new Gtk::Notebook();
  $pref_window->vbox->pack_start( $notebook, $true, $true, 0);
  $notebook->set_tab_pos( 'top' );

  my $main_vbox = new Gtk::VBox($false,10);

  my $label = new Gtk::Label( "Import Options" );
  my $frame = new Gtk::Frame("Flat File Indexes");
  my $vbox = new Gtk::VBox($false,10);
  $frame->add($vbox);
  $main_vbox->pack_start($frame,$false,$false,10);

  $notebook->append_page( $main_vbox, $label );

  my $hbox = new Gtk::HBox($false,0);

  $pref_entry[0] = new Gtk::Entry();
  $frame = new Gtk::Frame("Indexes Directory");
  $frame->add($pref_entry[0]);
  $hbox->pack_start( $frame, $true, $false, 0);

  $pref_entry[1] = new Gtk::Entry();
  $frame = new Gtk::Frame("Index Type");
  $frame->add($pref_entry[1]);
  $hbox->pack_start( $frame, $false, $false, 0);

  $vbox->pack_start( $hbox, $false, $false, 0);

  $pref_entry[2] = new Gtk::Entry();
  $frame = new Gtk::Frame("Fasta Index Name");
  $frame->add($pref_entry[2]);
  $vbox->pack_start( $frame, $false, $false, 0);

  $pref_entry[3] = new Gtk::Entry();
  $frame = new Gtk::Frame("SwissProt Index Name");
  $frame->add($pref_entry[3]);
  $vbox->pack_start( $frame, $false, $false, 0);

  $pref_entry[4] = new Gtk::Entry();
  $frame = new Gtk::Frame("SwissPfam Index Name");
  $frame->add($pref_entry[4]);
  $vbox->pack_start( $frame, $false, $false, 0);

  $frame = new Gtk::Frame("Remote DBs");
  $hbox = new Gtk::HBox($false,10);
  $frame->add($hbox);
  $main_vbox->pack_start($frame,$false,$false,10);

  $pref_entry[5] = new Gtk::Entry();
  $frame = new Gtk::Frame("AceDB host");
  $frame->add($pref_entry[5]);
  $hbox->pack_start( $frame, $true, $false, 0);

  $pref_entry[6] = new Gtk::Entry();
  $frame = new Gtk::Frame("AceDB port");
  $frame->add($pref_entry[6]);
  $hbox->pack_start( $frame, $false, $false, 0);

  $notebook->set_page( 0 );

  my $bbox = new Gtk::HButtonBox();
  $bbox->set_layout("end");

  my $button = new Gtk::Button( "Save" );
  $bbox->add( $button );
  $button->signal_connect("clicked",
			  # close button handler
			  sub{ $pref_window->hide();
			       &store_prefs();
			     });
  
  $button = new Gtk::Button( "Close" );
  $bbox->add( $button );
  $button->signal_connect("clicked",
			  # close button handler
			  sub{ $pref_window->hide();
			     });
  
  $pref_window->action_area->pack_start( $bbox, $true, $true, 0 );
  $pref_window->signal_connect_after( "delete_event",
					 # window delete handler
					 sub{ $pref_window->hide();
					      return &Gtk::true;
					    });
}



( run in 2.537 seconds using v1.01-cache-2.11-cpan-0bb4e1dffa6 )