--- trunk/lib/Continuity/Widget.pm 2008/07/10 15:41:17 83 +++ trunk/lib/Continuity/Widget.pm 2008/07/10 17:19:40 84 @@ -23,6 +23,7 @@ # List of callbacks, buttons for now has callback => ( is => 'rw', default => sub {{}} ); +has callback_order => ( is => 'rw', isa => 'ArrayRef', default => sub { [] }); has renderer => ( is => 'rw', isa => 'HashRef', default => sub {{}}); @@ -125,6 +126,8 @@ sub add_button { my ($self, $name, $callback) = @_; $self->callback->{$name} = $callback; + push @{ $self->callback_order }, $name; + warn "## callback_order = ",dump( $self->callback_order ); } sub remove_button { @@ -135,7 +138,7 @@ sub render_buttons { my ($self) = @_; my $out = ''; - foreach my $name (keys %{$self->callback}) { + foreach my $name ( @{ $self->callback_order } ) { my $btn_name = $self->field_name($name); $out .= qq{