Changeset 4800 for extensions/pLoader
- Timestamp:
- Jan 30, 2010, 5:13:16 AM (14 years ago)
- Location:
- extensions/pLoader/trunk
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
extensions/pLoader/trunk/res/photo_properties_with_categories_tags_wdr.pl
r4793 r4800 1 #-----------------------------------------------------------------------------2 # Perl source generated by wxDesigner from file: photo_properties_with_categories_tags.wdr3 # Do not modify this file, all changes will be lost!4 #-----------------------------------------------------------------------------5 6 1 use Wx; 7 2 use Wx::Calendar; 8 3 use Wx::DateTime; 9 use Wx::Grid;10 4 use strict; 11 5 … … 15 9 use Wx qw( wxDefaultSize wxDefaultPosition wxNullAnimation wxNullFont wxBLACK ); 16 10 use Wx qw( wxID_OK wxID_APPLY wxID_SAVE wxID_SAVEAS wxID_CANCEL wxID_YES wxID_NO wxID_EXIT wxID_ABOUT wxID_HELP ); 17 use Wx qw( wxVERTICAL wxHORIZONTAL wxALL wxLEFT wxRIGHT wxTOP wxBOTTOM wxCENTRE wxGROW );11 use Wx qw( wxVERTICAL wxHORIZONTAL wxALL wxLEFT wxRIGHT wxTOP wxBOTTOM wxCENTRE wxGROW wxEXPAND); 18 12 use Wx qw( wxALIGN_RIGHT wxALIGN_BOTTOM wxALIGN_CENTER wxALIGN_CENTER_VERTICAL wxALIGN_CENTER_HORIZONTAL ); 19 13 use Wx qw( wxTR_HAS_BUTTONS wxTR_LINES_AT_ROOT wxSUNKEN_BORDER wxLI_HORIZONTAL wxTE_MULTILINE ); … … 32 26 33 27 sub PhotoPropertiesCategoriesTags { 34 my( $parent ) = $_[0];35 my( $ item0) = Wx::BoxSizer->new( wxVERTICAL );28 my( $parent ) = @_; 29 my( $topsizer ) = Wx::BoxSizer->new( wxVERTICAL ); 36 30 37 31 my( $item2 ) = Wx::Notebook->new( $parent, $main::PHOTO_PROPERTIES_NB, wxDefaultPosition, [400,160], 0 ); … … 41 35 } 42 36 43 $item0->Add( $item1, 2, wxGROW|wxALIGN_CENTER_VERTICAL|wxALL, 5 ); 37 # the notebook has adaptive size : stretch factor 2, wxEXPAND 38 $topsizer->Add( $item1, 2, wxEXPAND|wxALIGN_CENTER_VERTICAL|wxALL, 5 ); 44 39 45 40 my( $item3 ) = Wx::TreeCtrl->new( $parent, $main::PHOTO_PROPERTIES_CATEGORIES, wxDefaultPosition, [120,160], wxTR_HAS_BUTTONS|wxTR_LINES_AT_ROOT|wxSUNKEN_BORDER ); 46 $item0->AddWindow( $item3, 1, wxGROW|wxALL, 5 ); 41 # the notebook has adaptive size : stretch factor 1, wxEXPAND 42 $topsizer->AddWindow( $item3, 1, wxGROW|wxALL, 5 ); 47 43 48 44 my( $item4 ) = Wx::StaticLine->new( $parent, $main::ID_LINE, wxDefaultPosition, [20,-1], wxLI_HORIZONTAL ); 49 $ item0->AddWindow( $item4, 0, wxGROW|wxALIGN_CENTER_VERTICAL|wxALL, 5 );45 $topsizer->AddWindow( $item4, 0, wxGROW|wxALIGN_CENTER_VERTICAL|wxALL, 5 ); 50 46 51 47 my( $item5 ) = Wx::Button->new( $parent, $main::PHOTO_PROPERTIES_UPLOAD, "", wxDefaultPosition, [-1,40], 0 ); 52 $ item0->AddWindow( $item5, 0, wxGROW|wxALIGN_CENTER_VERTICAL|wxALL, 5 );48 $topsizer->AddWindow( $item5, 0, wxGROW|wxALIGN_CENTER_VERTICAL|wxALL, 5 ); 53 49 54 my( $set_size ) = @_ >= 3 ? $_[2] : 1; 55 my( $call_fit ) = @_ >= 2 ? $_[1] : 1; 56 if( $set_size == 1 ) { 57 $_[0]->SetSizer( $item0 ); 58 59 if( $call_fit == 1 ) { 60 $item0->SetSizeHints( $_[0] ); 61 } 62 } 63 64 $item0; 50 $parent->SetSizer( $topsizer ); 51 $topsizer->SetSizeHints( $parent ); 52 53 $topsizer; 65 54 } 66 55 … … 69 58 70 59 sub photo_properties_tags { 71 my( $parent ) = $_[0];72 my( $ item0) = Wx::BoxSizer->new( wxVERTICAL );60 my( $parent, $tags ) = @_; 61 my( $topsizer ) = Wx::BoxSizer->new( wxVERTICAL ); 73 62 74 63 my( $item1 ) = Wx::StaticText->new( $parent, $main::TAGS, "text", wxDefaultPosition, wxDefaultSize, 0 ); 75 $ item0->AddWindow( $item1, 0, wxALIGN_CENTER_VERTICAL|wxBOTTOM, 5 );64 $topsizer->AddWindow( $item1, 0, wxALIGN_CENTER_VERTICAL|wxBOTTOM, 5 ); 76 65 77 my $tags = $_[1];78 $tags->{parentwnd}=$parent;79 my( $item2 ) = Uploader::GUI::wxChoiceFilteredPanel->new($tags); 80 $ item0->AddWindow( $item2, 0, wxALIGN_CENTER_VERTICAL, 5 );66 $tags->{parentwnd}=$parent; 67 my( $panel ) = Uploader::GUI::wxChoiceFilteredPanel->new($tags); 68 # the panel has adaptive size : stretch factor 1, wxEXPAND 69 $topsizer->AddWindow( $panel, 1, wxEXPAND|wxALIGN_CENTER_VERTICAL|wxALL, 5 ); 81 70 82 my( $set_size ) = @_ >= 3 ? $_[2] : 1; 83 my( $call_fit ) = @_ >= 2 ? $_[1] : 1; 84 if( $set_size == 1 ) { 85 $_[0]->SetSizer( $item0 ); 86 87 if( $call_fit == 1 ) { 88 $item0->SetSizeHints( $_[0] ); 89 } 90 } 71 $parent->SetSizer( $topsizer ); 72 $topsizer->SetSizeHints( $parent ); 91 73 92 $ item0;74 $topsizer; 93 75 } 94 76 … … 105 87 106 88 sub photo_properties_caption_comments { 107 my( $parent ) = $_[0];108 my( $ item0) = Wx::BoxSizer->new( wxVERTICAL );89 my( $parent ) = @_; 90 my( $topsizer ) = Wx::BoxSizer->new( wxVERTICAL ); 109 91 110 92 my( $item1 ) = Wx::BoxSizer->new( wxVERTICAL ); … … 113 95 $item1->AddWindow( $item2, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 ); 114 96 115 my( $item3 ) = Wx::TextCtrl->new( $parent, $main::PHOTO_PROPERTIES_CAPTION, "", wxDefaultPosition, [ 300,-1], 0 );116 $item1->AddWindow( $item3, 0, wx ALIGN_CENTER_VERTICAL|wxALL, 5 );97 my( $item3 ) = Wx::TextCtrl->new( $parent, $main::PHOTO_PROPERTIES_CAPTION, "", wxDefaultPosition, [-1,-1], 0 ); 98 $item1->AddWindow( $item3, 0, wxEXPAND|wxALIGN_CENTER_VERTICAL|wxALL, 5 ); 117 99 118 $ item0->Add( $item1, 0, 0, 5 );100 $topsizer->Add( $item1, 0, wxEXPAND, 5 ); 119 101 120 102 my( $item4 ) = Wx::BoxSizer->new( wxVERTICAL ); … … 123 105 $item4->AddWindow( $item5, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 ); 124 106 125 my( $item6 ) = Wx::TextCtrl->new( $parent, $main::PHOTO_PROPERTIES_AUTHOR, "", wxDefaultPosition, [ 300,-1], 0 );126 $item4->AddWindow( $item6, 0, wx ALIGN_CENTER_VERTICAL|wxALL, 5 );107 my( $item6 ) = Wx::TextCtrl->new( $parent, $main::PHOTO_PROPERTIES_AUTHOR, "", wxDefaultPosition, [-1,-1], 0 ); 108 $item4->AddWindow( $item6, 0, wxEXPAND|wxALIGN_CENTER_VERTICAL|wxALL, 5 ); 127 109 128 110 my( $item7 ) = Wx::StaticText->new( $parent, $main::COMMENT, "text", wxDefaultPosition, wxDefaultSize, 0 ); 129 111 $item4->AddWindow( $item7, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 ); 130 112 131 my( $item8 ) = Wx::TextCtrl->new( $parent, $main::PHOTO_PROPERTIES_COMMENT, "", wxDefaultPosition, [300,50], wxTE_MULTILINE ); 132 $item4->AddWindow( $item8, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 ); 113 # adaptive size : stretch factor 1 114 # the textctrl has a variable line number 115 my( $item8 ) = Wx::TextCtrl->new( $parent, $main::PHOTO_PROPERTIES_COMMENT, "", wxDefaultPosition, [-1,-1], wxTE_MULTILINE ); 116 $item4->AddWindow( $item8, 1, wxEXPAND|wxALIGN_CENTER_VERTICAL|wxALL, 5 ); 133 117 134 118 my( $item9 ) = Wx::StaticText->new( $parent, $main::CREATE_DATE, "text", wxDefaultPosition, wxDefaultSize, 0 ); … … 137 121 my( $item10 ) = Wx::DatePickerCtrl->new( $parent, $main::PHOTO_PROPERTIES_CREATE_DATE, Wx::DateTime->new(), wxDefaultPosition, [200,-1], wxDP_DROPDOWN ); 138 122 $item4->AddWindow( $item10, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 ); 139 140 $ item0->Add( $item4, 0, 0, 0);123 # adaptive size : stretch factor 3 124 $topsizer->Add( $item4, 3, wxEXPAND, 5 ); 141 125 142 126 my( $item11 ) = Wx::BoxSizer->new( wxVERTICAL ); … … 145 129 $item11->AddWindow( $item12, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 ); 146 130 147 my( $item13 ) = Wx::Choice->new( $parent, $main::PHOTO_PROPERTIES_PRIVACY_LEVEL, wxDefaultPosition, [ 300,-1], [], 0 );148 $item11->AddWindow( $item13, 0, wx ALIGN_CENTER_VERTICAL|wxALL, 5 );131 my( $item13 ) = Wx::Choice->new( $parent, $main::PHOTO_PROPERTIES_PRIVACY_LEVEL, wxDefaultPosition, [-1,-1], [], 0 ); 132 $item11->AddWindow( $item13, 0, wxEXPAND|wxALIGN_CENTER_VERTICAL|wxALL, 5 ); 149 133 150 $item0->Add( $item11, 1, Wx::wxALIGN_TOP, 5 ); 134 # adaptive size : stretch factor 1 135 $topsizer->Add( $item11, 1, wxEXPAND, 5 ); 151 136 152 my( $set_size ) = @_ >= 3 ? $_[2] : 1; 153 my( $call_fit ) = @_ >= 2 ? $_[1] : 1; 154 if( $set_size == 1 ) { 155 $_[0]->SetSizer( $item0 ); 156 157 if( $call_fit == 1 ) { 158 $item0->SetSizeHints( $_[0] ); 159 } 160 } 137 $parent->SetSizer( $topsizer ); 138 $topsizer->SetSizeHints( $parent ); 161 139 162 $ item0;140 $topsizer; 163 141 } 164 165 # Menu bar functions166 167 168 # Toolbar functions169 142 170 143 use Wx qw( wxITEM_NORMAL wxITEM_RADIO wxITEM_CHECK ); 171 144 172 173 # End of generated file -
extensions/pLoader/trunk/src/Uploader/GUI/wxChoiceFilteredPanel.pm
r4779 r4800 30 30 wxTE_PROCESS_ENTER 31 31 wxRA_SPECIFY_ROWS 32 wxGROW 33 wxEXPAND 32 34 /; 33 35 … … 52 54 search_result 53 55 previous_autocompleted 54 55 56 56 autocomplete_from 57 autocomplete_to 58 autocomplete_set_selection 57 59 / 58 60 ); 59 60 use Wx::Event qw(EVT_CHECKLISTBOX EVT_LISTBOX EVT_SEARCHCTRL_SEARCH_BTN EVT_SEARCHCTRL_CANCEL_BTN61 EVT_TEXT EVT_TEXT_ENTER EVT_IDLE EVT_RADIOBOX);62 61 63 62 … … 74 73 $self->Refresh; 75 74 76 EVT_CHECKLISTBOX( $self, $self->listchoices, \&OnCheck );77 EVT_LISTBOX( $self, $self->listchoices, \&OnSelected );78 EVT_SEARCHCTRL_SEARCH_BTN( $self, $self->search, \&OnSearch );79 EVT_SEARCHCTRL_CANCEL_BTN( $self, $self->search, \&OnCancel );80 EVT_TEXT( $self, $self->search, \&OnSearch );81 EVT_TEXT_ENTER( $self, $self->search, \&OnSearchEnter );82 EVT_RADIOBOX( $self, $self->btn_show, \&OnShow );83 84 85 86 87 88 89 90 91 92 93 94 95 75 Wx::Event::EVT_CHECKLISTBOX( $self, $self->listchoices, \&OnCheck ); 76 Wx::Event::EVT_LISTBOX( $self, $self->listchoices, \&OnSelected ); 77 Wx::Event::EVT_SEARCHCTRL_SEARCH_BTN( $self, $self->search, \&OnSearch ); 78 Wx::Event::EVT_SEARCHCTRL_CANCEL_BTN( $self, $self->search, \&OnCancel ); 79 Wx::Event::EVT_TEXT( $self, $self->search, \&OnSearch ); 80 Wx::Event::EVT_TEXT_ENTER( $self, $self->search, \&OnSearchEnter ); 81 Wx::Event::EVT_RADIOBOX( $self, $self->btn_show, \&OnShow ); 82 # fix for linux : can not call SetSelection before the current event is processed. 83 # call when idle 84 Wx::Event::EVT_IDLE( 85 $self, 86 sub { 87 my ($self, $event)=@_; 88 $self->search->SetSelection( 89 $self->autocomplete_from, 90 $self->autocomplete_to 91 ) if $self->autocomplete_set_selection; 92 $self->autocomplete_set_selection(0); 93 } 94 ); 96 95 97 96 $self; … … 99 98 100 99 sub _init_properties { 101 my ( $self, $params ) = @_; 102 100 my ( $self, $params ) = @_; 101 103 102 $self->choices( 104 103 $params->{choices}|| sub { [] } … … 132 131 133 132 sub _init_panel { 134 my ( $self ) = @_; 133 my ( $self ) = @_; 135 134 136 135 my( $vsizer ) = Wx::BoxSizer->new( wxVERTICAL ); 137 136 138 137 $self->search( 139 Wx::SearchCtrl->new( $self, -1, "", wxDefaultPosition, [ 320,-1],wxTE_PROCESS_ENTER )138 Wx::SearchCtrl->new( $self, -1, "", wxDefaultPosition, [-1,-1],wxTE_PROCESS_ENTER ) 140 139 ); 141 140 142 141 $self->search->ShowCancelButton( 1 ); 143 142 144 $vsizer->AddWindow( $self->search, 0, wx ALIGN_CENTER_VERTICAL|wxALL, 2 );143 $vsizer->AddWindow( $self->search, 0, wxEXPAND|wxALIGN_CENTER_VERTICAL|wxALL, 2 ); 145 144 146 145 $self->btn_show( 147 Wx::RadioBox->new( $self, -1, sprintf("%s :", gettext("Show")), wxDefaultPosition, [ 320, -1],146 Wx::RadioBox->new( $self, -1, sprintf("%s :", gettext("Show")), wxDefaultPosition, [-1, -1], 148 147 [gettext("All"),gettext("Selected"),gettext("Not selected")] , 1, wxRA_SPECIFY_ROWS ) 149 148 ); 150 $vsizer->AddWindow( $self->btn_show, 0, wx ALIGN_CENTER_VERTICAL|wxALL, 2 );149 $vsizer->AddWindow( $self->btn_show, 0, wxEXPAND|wxALIGN_CENTER_VERTICAL|wxALL, 2 ); 151 150 152 151 153 152 $self->listchoices( 154 Wx::CheckListBox->new( $self, -1, wxDefaultPosition, [ 320,200], [], 0 )155 ); 156 $vsizer->AddWindow( $self->listchoices, 0,wxALIGN_CENTER_VERTICAL|wxALL, 2 );153 Wx::CheckListBox->new( $self, -1, wxDefaultPosition, [-1,-1], [], 0 ) 154 ); 155 $vsizer->AddWindow( $self->listchoices, 1, wxEXPAND|wxALIGN_CENTER_VERTICAL|wxALL, 2 ); 157 156 158 157 $self->SetSizer( $vsizer ); 158 $vsizer->SetSizeHints( $self ); 159 159 160 $vsizer->SetSizeHints( $self );161 160 } 162 161 … … 164 163 my ( $self, $choices ) = @_; 165 164 166 165 $self->listchoices->Freeze; 167 166 $self->listchoices->Clear; 168 167 $self->id_lookup({}); … … 174 173 #print Dumper $self->properties; 175 174 map { 176 177 178 175 $self->listchoices->Append( 176 $_->{name}, 177 ); 179 178 $self->id_lookup->{$row} = $_->{id}; 180 179 $self->row_lookup->{$_->{id}} = $row; 181 180 $self->id_from_name->{$_->{name}} = $_->{id}; 182 $row++;181 $row++; 183 182 }@{$choices}; 184 183 $self->listchoices->Thaw; 185 184 186 185 } … … 198 197 $self->_init_choices($choices); 199 198 $self->SetSelection($selected); 200 199 201 200 } 202 201 … … 209 208 $self->listchoices->Freeze; 210 209 map { 211 $self->listchoices->Check($row, 0) ; 212 210 $self->listchoices->Check($row, 0) ; 211 $row++; 213 212 }@$choices; 214 213 $self->listchoices->Thaw; … … 224 223 $self->listchoices->Freeze; 225 224 map { 226 227 228 229 230 $self->is_selected->{$_} = 1;231 } 232 @{$selection}; 225 $self->listchoices->Check( 226 $self->row_lookup->{$_}, 227 exists $self->row_lookup->{$_}, 228 ) if defined $self->row_lookup->{$_}; 229 $self->is_selected->{$_} = 1; 230 } 231 @{$selection}; 233 232 $self->listchoices->Thaw; 234 233 } … … 244 243 245 244 my $id = $self->id_lookup->{$row}; 246 $self->is_selected->{$id} = $self->listchoices->IsChecked($row) ; 247 245 $self->is_selected->{$id} = $self->listchoices->IsChecked($row) ; 246 $row++; 248 247 }@$choices; 249 248 250 249 [ 251 250 grep { $self->is_selected->{$_} } keys %{$self->is_selected} 252 ]; 251 ]; 253 252 } 254 253 … … 258 257 $self->selection->( 259 258 $self->GetSelection 260 ); 259 ); 261 260 } 262 261 … … 321 320 322 321 sub _refresh_selected_searched { 323 my ( $self, $searched ) = @_; 322 my ( $self, $searched ) = @_; 324 323 325 324 $self->Refresh; … … 348 347 # autocompletion 349 348 if(1== scalar @{$self->search_result}){ 350 351 352 353 354 355 356 357 358 359 360 361 }349 my $value = $self->search_result->[0]->{name}; 350 unless( $value eq $self->previous_autocompleted ){ 351 $self->autocomplete_from( 352 $self->search->GetLastPosition 353 ); 354 $self->search->ChangeValue($value); 355 $self->autocomplete_to( 356 $self->search->GetLastPosition 357 ); 358 $self->autocomplete_set_selection(1); 359 $self->previous_autocompleted($value); 360 } 362 361 } 363 362 else{ 364 365 } 366 367 363 $self->previous_autocompleted(undef); 364 } 365 366 $event->Skip; 368 367 } 369 368 … … 389 388 390 389 sub _show_notselected { 391 my ( $self ) = @_; 390 my ( $self ) = @_; 392 391 393 392 $self->Refresh( … … 397 396 398 397 sub _show_selected { 399 my ( $self ) = @_; 398 my ( $self ) = @_; 400 399 401 400 $self->Refresh( … … 405 404 406 405 sub _show_all { 407 my ( $self ) = @_; 406 my ( $self ) = @_; 408 407 409 408 $self->Refresh( … … 418 417 [ 419 418 grep { $self->is_selected->{$_->{id}} } @$choices 420 ] 419 ] 421 420 } 422 421 … … 427 426 [ 428 427 grep { !$self->is_selected->{$_->{id}} } @$choices 429 ] 428 ] 430 429 } 431 430
Note: See TracChangeset
for help on using the changeset viewer.