File: imageexportdialog.cpp

package info (click to toggle)
codelite 6.1.1%2Bdfsg-4
  • links: PTS, VCS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 48,992 kB
  • ctags: 43,502
  • sloc: cpp: 334,263; ansic: 18,441; xml: 4,713; yacc: 2,653; lex: 2,449; python: 1,188; sh: 385; makefile: 40
file content (128 lines) | stat: -rw-r--r-- 3,390 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
//////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////
//
// copyright            : (C) 2014 The CodeLite Team
// file name            : imageexportdialog.cpp
//
// -------------------------------------------------------------------------
// A
//              _____           _      _     _ _
//             /  __ \         | |    | |   (_) |
//             | /  \/ ___   __| | ___| |    _| |_ ___
//             | |    / _ \ / _  |/ _ \ |   | | __/ _ )
//             | \__/\ (_) | (_| |  __/ |___| | ||  __/
//              \____/\___/ \__,_|\___\_____/_|\__\___|
//
//                                                  F i l e
//
//    This program is free software; you can redistribute it and/or modify
//    it under the terms of the GNU General Public License as published by
//    the Free Software Foundation; either version 2 of the License, or
//    (at your option) any later version.
//
//////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////

#include "imageexportdialog.h"
#include <wx/msgdlg.h>

ImageExportDialog::ImageExportDialog(wxWindow *parent) : _ImageExportDialog(parent)
{
	m_Scale = -1;
}

ImageExportDialog::~ImageExportDialog()
{
}

void ImageExportDialog::OnInit(wxInitDialogEvent& event)
{
	m_textCtrlPath->SetValue( m_Path );
}

void ImageExportDialog::OnOKClick(wxCommandEvent& event)
{
	m_ExportCanvas = m_checkBoxBackground->IsChecked();
	
	if( m_Path.IsEmpty() )
	{
		wxMessageBox( _("Image path cannot be empty."), _("Export image"), wxOK | wxICON_ERROR );
		m_textCtrlPath->SetFocus();
		
		return;
	}
	
	if( m_radioBtnScaleCustom->GetValue() )
	{
		if( !m_textCtrlScale->GetValue().ToDouble( &m_Scale ) )
		{
			wxMessageBox( _("Canvas scale must be decimal value."), _("Export image"), wxOK | wxICON_ERROR );
			m_textCtrlScale->SetFocus();
			
			return;
		}
	}
	else
		m_Scale = -1;
	
	EndModal( wxID_OK );
}

void ImageExportDialog::OnUpdateCustomScale(wxUpdateUIEvent& event)
{
	event.Enable( m_radioBtnScaleCustom->GetValue() );
}

void ImageExportDialog::OnBowseClick(wxCommandEvent& event)
{	
	wxFileName path( m_Path );
	wxFileDialog dlg(this, _("Export ERD to image..."), path.GetPath(), path.GetFullName(), wxT("BMP Files (*.bmp)|*.bmp|GIF Files (*.gif)|(*.gif)|XPM Files (*.xpm)|*.xpm|PNG Files (*.png)|*.png|JPEG Files (*.jpg)|*.jpg"), wxFD_SAVE | wxFD_OVERWRITE_PROMPT);

	switch( m_BitmapType )
	{
		case wxBITMAP_TYPE_BMP:
			dlg.SetFilterIndex( 0 );
			break;
		case wxBITMAP_TYPE_GIF:
			dlg.SetFilterIndex( 1 );
			break;
		case wxBITMAP_TYPE_XPM:
			dlg.SetFilterIndex( 2 );
			break;
		case wxBITMAP_TYPE_PNG:
			dlg.SetFilterIndex( 3 );
			break;
		case wxBITMAP_TYPE_JPEG:
			dlg.SetFilterIndex( 4 );
			break;
		default:
			break;
	}
	
	if(dlg.ShowModal() == wxID_OK)
	{
		m_Path = dlg.GetPath();
		m_BitmapType = wxBITMAP_TYPE_BMP;
		
		switch( dlg.GetFilterIndex() )
		{
			case 0:
				m_BitmapType = wxBITMAP_TYPE_BMP;
				break;
			case 1:
				m_BitmapType = wxBITMAP_TYPE_GIF;
				break;
			case 2:
				m_BitmapType = wxBITMAP_TYPE_XPM;
				break;
			case 3:
				m_BitmapType = wxBITMAP_TYPE_PNG;
				break;
			case 4:
				m_BitmapType = wxBITMAP_TYPE_JPEG;
				break;
		}
		
		m_textCtrlPath->SetValue( m_Path );
	}
}