1 #############################################################################
2 ## Name: ext/docview/XS/DocManager.xs
3 ## Purpose: XS for wxDocument ( Document / View Framework )
7 ## RCS-ID: $Id: DocManager.xs 2453 2008-08-31 11:09:40Z mbarbon $
8 ## Copyright: (c) 2002-2008 Mattia Barbon
9 ## Licence: This program is free software; you can redistribute it and/or
10 ## modify it under the same terms as Perl itself
11 #############################################################################
14 MODULE=Wx PACKAGE=Wx::DocManager
17 wxDocManager::new( flags = wxDEFAULT_DOCMAN_FLAGS, initialize = true )
21 RETVAL=new wxPliDocManager(CLASS, flags, initialize);
26 wxDocManager::Clear( force )
30 wxDocManager::Initialize()
33 wxDocManager::OnCreateFileHistory()
36 wxDocManager::GetFileHistory()
39 wxDocManager::SetMaxDocsOpen(n)
43 wxDocManager::GetMaxDocsOpen()
46 wxDocManager::GetDocuments()
48 AV* arrDocs = wxPli_objlist_2_av( aTHX_ THIS->GetDocuments() );
49 RETVAL = newRV_noinc( (SV*)arrDocs );
53 wxDocManager::GetTemplates()
55 AV* arrDocs = wxPli_objlist_2_av( aTHX_ THIS->GetTemplates() );
56 RETVAL = newRV_noinc( (SV*)arrDocs );
60 wxDocManager::GetLastDirectory()
63 wxDocManager::SetLastDirectory( dir )
67 wxDocManager::OnFileClose( event )
70 THIS->OnFileClose( *event );
73 wxDocManager::OnFileCloseAll( event )
76 THIS->OnFileCloseAll( *event );
79 wxDocManager::OnFileNew( event )
82 THIS->OnFileNew( *event );
85 wxDocManager::OnFileOpen( event )
88 THIS->OnFileOpen( *event );
91 wxDocManager::OnFileRevert( event )
94 THIS->OnFileRevert( *event );
97 wxDocManager::OnFileSave( event )
100 THIS->OnFileSave( *event );
103 wxDocManager::OnFileSaveAs( event )
104 wxCommandEvent* event
106 THIS->OnFileSaveAs( *event );
109 wxDocManager::OnPrint( event )
110 wxCommandEvent* event
112 THIS->OnPrint( *event );
114 #if WXPERL_W_VERSION_LE( 2, 5, 2 )
117 wxDocManager::OnPrintSetup( event )
118 wxCommandEvent* event
120 THIS->OnPrintSetup( *event );
125 wxDocManager::OnPreview( event )
126 wxCommandEvent* event
128 THIS->OnPreview( *event );
131 wxDocManager::OnUndo( event )
132 wxCommandEvent* event
134 THIS->OnUndo( *event );
137 wxDocManager::OnRedo( event )
138 wxCommandEvent* event
140 THIS->OnRedo( *event );
143 wxDocManager::OnUpdateFileOpen( event )
144 wxUpdateUIEvent* event
146 THIS->OnUpdateFileOpen( *event );
148 #if WXPERL_W_VERSION_LT( 2, 9, 0 )
151 wxDocManager::OnUpdateFileClose( event )
152 wxUpdateUIEvent* event
154 THIS->OnUpdateFileClose( *event );
157 wxDocManager::OnUpdateFileRevert( event )
158 wxUpdateUIEvent* event
160 THIS->OnUpdateFileRevert( *event );
165 wxDocManager::OnUpdateFileNew( event )
166 wxUpdateUIEvent* event
168 THIS->OnUpdateFileNew( *event );
171 wxDocManager::OnUpdateFileSave( event )
172 wxUpdateUIEvent* event
174 THIS->OnUpdateFileSave( *event );
176 #if WXPERL_W_VERSION_LT( 2, 9, 0 )
179 wxDocManager::OnUpdateFileSaveAs( event )
180 wxUpdateUIEvent* event
182 THIS->OnUpdateFileSaveAs( *event );
187 wxDocManager::OnUpdateUndo( event )
188 wxUpdateUIEvent* event
190 THIS->OnUpdateUndo( *event );
193 wxDocManager::OnUpdateRedo( event )
194 wxUpdateUIEvent* event
196 THIS->OnUpdateRedo( *event );
198 #if WXPERL_W_VERSION_LT( 2, 9, 0 )
201 wxDocManager::OnUpdatePrint( event )
202 wxUpdateUIEvent* event
204 THIS->OnUpdatePrint( *event );
208 #if WXPERL_W_VERSION_LE( 2, 5, 2 )
211 wxDocManager::OnUpdatePrintSetup( event )
212 wxUpdateUIEvent* event
214 THIS->OnUpdatePrintSetup( *event );
218 #if WXPERL_W_VERSION_LT( 2, 9, 0 )
221 wxDocManager::OnUpdatePreview( event )
222 wxUpdateUIEvent* event
224 THIS->OnUpdatePreview( *event );
229 wxDocManager::GetCurrentView()
232 wxDocManager::CreateDocument( path, flags = 0 )
238 wxDocManager::CreateView( doc, flags = 0 )
243 wxDocManager::DeleteTemplate( temp, flags = 0 )
248 wxDocManager::FlushDoc( doc )
252 wxDocManager::GetCurrentDocument()
254 #if WXPERL_W_VERSION_GE( 2, 9, 0 )
257 wxDocManager::MakeNewDocumentName()
262 wxDocManager::MakeDefaultName( name )
268 wxDocManager::MakeFrameTitle( doc )
272 wxDocManager::MatchTemplate( path )
276 wxDocManager::AddFileToHistory( file )
280 wxDocManager::RemoveFileFromHistory( i )
285 wxDocManager::GetHistoryFile( i )
289 wxDocManager::FileHistoryUseMenu( menu )
293 wxDocManager::FileHistoryRemoveMenu( menu )
299 ## Need wxConfigBase& in typemap
302 wxDocManager::FileHistoryLoad( config )
307 wxDocManager::FileHistorySave( config )
314 wxDocManager::FileHistoryAddFilesToMenu( ... )
317 THIS->FileHistoryAddFilesToMenu();
320 wxMenu* menu = NO_INIT
322 THIS->FileHistoryAddFilesToMenu( menu );
325 croak( "Usage: Wx::FileHistory::AddfilesToMenu(THIS [, menu ] )" );
327 #if WXPERL_W_VERSION_GE( 2, 5, 1 )
330 wxDocManager::GetHistoryFilesCount()
335 wxDocManager::GetNoHistoryFiles()
340 wxDocManager::FindTemplateForPath( path )
344 wxDocManager::SelectDocumentPath( templates, noTemplates, path, flags, save = false)
353 wxDocTemplate **pltemplates;
354 wxDocTemplate *thistemplate;
356 tmpl_n = av_len(templates) + 1;
357 pltemplates = new wxDocTemplate *[ tmpl_n ];
358 for(i = 0; i < tmpl_n; i++)
360 SV** pltemplate = av_fetch( (AV*) templates, i, 0 );
361 wxDocTemplate* thistemplate = (wxDocTemplate *)
362 wxPli_sv_2_object( aTHX_ *pltemplate, "Wx::DocTemplate" );
363 pltemplates[i] = thistemplate;
365 RETVAL = THIS->SelectDocumentPath(pltemplates, noTemplates, path, flags, save);
366 delete[] pltemplates;
371 wxDocManager::SelectDocumentType( templates, noTemplates, sort = false)
378 wxDocTemplate **pltemplates;
379 wxDocTemplate *thistemplate;
381 tmpl_n = av_len(templates) + 1;
382 pltemplates = new wxDocTemplate *[ tmpl_n ];
383 for(i = 0; i < tmpl_n; i++)
385 SV** pltemplate = av_fetch( (AV*) templates, i, 0 );
386 wxDocTemplate* thistemplate = (wxDocTemplate *)
387 wxPli_sv_2_object( aTHX_ *pltemplate, "Wx::DocTemplate" );
388 pltemplates[i] = thistemplate;
390 RETVAL = THIS->SelectDocumentType(pltemplates, noTemplates, sort);
391 delete[] pltemplates;
398 wxDocManager::SelectViewType( templates, noTemplates, sort = false)
405 wxDocTemplate **pltemplates;
406 wxDocTemplate *thistemplate;
408 tmpl_n = av_len(templates) + 1;
409 pltemplates = new wxDocTemplate *[ tmpl_n ];
410 for(i = 0; i < tmpl_n; i++)
412 SV** pltemplate = av_fetch( (AV*) templates, i, 0 );
413 wxDocTemplate* thistemplate = (wxDocTemplate *)
414 wxPli_sv_2_object( aTHX_ *pltemplate, "Wx::DocTemplate" );
415 pltemplates[i] = thistemplate;
417 RETVAL = THIS->SelectViewType(pltemplates, noTemplates, sort);
418 delete[] pltemplates;
423 wxDocManager::AssociateTemplate( temp )
427 wxDocManager::DisassociateTemplate( temp )
431 wxDocManager::AddDocument( doc )
435 wxDocManager::RemoveDocument( doc )
439 wxDocManager::CloseDocuments( force = true )
442 #if WXPERL_W_VERSION_GE( 2, 5, 1 )
445 wxDocManager::ActivateView( view, activate = true )
452 wxDocManager::ActivateView( view, activate = true, deleting = false )