xref: /haiku/src/add-ons/translators/ico/ConfigView.cpp (revision 9949213a25979d177b420bc71891c2bff02a331d)
1*9949213aSStephan Aßmus /*
2*9949213aSStephan Aßmus  * Copyright 2005, Axel Dörfler, axeld@pinc-software.de. All rights reserved.
3*9949213aSStephan Aßmus  * Distributed under the terms of the MIT License.
4*9949213aSStephan Aßmus  */
5*9949213aSStephan Aßmus 
6*9949213aSStephan Aßmus 
7*9949213aSStephan Aßmus #include "ConfigView.h"
8*9949213aSStephan Aßmus #include "ICOTranslator.h"
9*9949213aSStephan Aßmus 
10*9949213aSStephan Aßmus #include <StringView.h>
11*9949213aSStephan Aßmus #include <CheckBox.h>
12*9949213aSStephan Aßmus 
13*9949213aSStephan Aßmus #include <stdio.h>
14*9949213aSStephan Aßmus #include <string.h>
15*9949213aSStephan Aßmus 
16*9949213aSStephan Aßmus 
17*9949213aSStephan Aßmus ConfigView::ConfigView(const BRect &frame, uint32 resize, uint32 flags)
18*9949213aSStephan Aßmus 	: BView(frame, "ICOTranslator Settings", resize, flags)
19*9949213aSStephan Aßmus {
20*9949213aSStephan Aßmus 	SetViewColor(ui_color(B_PANEL_BACKGROUND_COLOR));
21*9949213aSStephan Aßmus 
22*9949213aSStephan Aßmus 	font_height fontHeight;
23*9949213aSStephan Aßmus 	be_bold_font->GetHeight(&fontHeight);
24*9949213aSStephan Aßmus 	float height = fontHeight.descent + fontHeight.ascent + fontHeight.leading;
25*9949213aSStephan Aßmus 
26*9949213aSStephan Aßmus 	BRect rect(10, 10, 200, 10 + height);
27*9949213aSStephan Aßmus 	BStringView *stringView = new BStringView(rect, "title", "Windows Icon Images");
28*9949213aSStephan Aßmus 	stringView->SetFont(be_bold_font);
29*9949213aSStephan Aßmus 	stringView->ResizeToPreferred();
30*9949213aSStephan Aßmus 	AddChild(stringView);
31*9949213aSStephan Aßmus 
32*9949213aSStephan Aßmus 	rect.OffsetBy(0, height + 10);
33*9949213aSStephan Aßmus 	char version[256];
34*9949213aSStephan Aßmus 	sprintf(version, "Version %d.%d.%d, %s",
35*9949213aSStephan Aßmus 		int(B_TRANSLATION_MAJOR_VERSION(ICO_TRANSLATOR_VERSION)),
36*9949213aSStephan Aßmus 		int(B_TRANSLATION_MINOR_VERSION(ICO_TRANSLATOR_VERSION)),
37*9949213aSStephan Aßmus 		int(B_TRANSLATION_REVISION_VERSION(ICO_TRANSLATOR_VERSION)),
38*9949213aSStephan Aßmus 		__DATE__);
39*9949213aSStephan Aßmus 	stringView = new BStringView(rect, "version", version);
40*9949213aSStephan Aßmus 	stringView->ResizeToPreferred();
41*9949213aSStephan Aßmus 	AddChild(stringView);
42*9949213aSStephan Aßmus 
43*9949213aSStephan Aßmus 	GetFontHeight(&fontHeight);
44*9949213aSStephan Aßmus 	height = fontHeight.descent + fontHeight.ascent + fontHeight.leading;
45*9949213aSStephan Aßmus 
46*9949213aSStephan Aßmus 	rect.OffsetBy(0, height + 5);
47*9949213aSStephan Aßmus 	stringView = new BStringView(rect, "copyright", B_UTF8_COPYRIGHT "2005 Haiku Inc.");
48*9949213aSStephan Aßmus 	stringView->ResizeToPreferred();
49*9949213aSStephan Aßmus 	AddChild(stringView);
50*9949213aSStephan Aßmus 
51*9949213aSStephan Aßmus 	rect.OffsetBy(0, height + 20);
52*9949213aSStephan Aßmus 	BCheckBox *checkBox = new BCheckBox(rect, "color", "Write 32 bit images on true color input", NULL);
53*9949213aSStephan Aßmus 	checkBox->ResizeToPreferred();
54*9949213aSStephan Aßmus 	AddChild(checkBox);
55*9949213aSStephan Aßmus 
56*9949213aSStephan Aßmus 	rect.OffsetBy(0, height + 10);
57*9949213aSStephan Aßmus 	checkBox = new BCheckBox(rect, "size", "Enforce valid icon sizes", NULL);
58*9949213aSStephan Aßmus 	checkBox->ResizeToPreferred();
59*9949213aSStephan Aßmus 	checkBox->SetValue(1);
60*9949213aSStephan Aßmus 	AddChild(checkBox);
61*9949213aSStephan Aßmus 
62*9949213aSStephan Aßmus 	rect.OffsetBy(0, height + 15);
63*9949213aSStephan Aßmus 	stringView = new BStringView(rect, "valid1", "Valid icon sizes are 16, 32, or 48");
64*9949213aSStephan Aßmus 	stringView->ResizeToPreferred();
65*9949213aSStephan Aßmus 	AddChild(stringView);
66*9949213aSStephan Aßmus 
67*9949213aSStephan Aßmus 	rect.OffsetBy(0, height + 5);
68*9949213aSStephan Aßmus 	stringView = new BStringView(rect, "valid2", "pixel in either direction.");
69*9949213aSStephan Aßmus 	stringView->ResizeToPreferred();
70*9949213aSStephan Aßmus 	AddChild(stringView);
71*9949213aSStephan Aßmus }
72*9949213aSStephan Aßmus 
73*9949213aSStephan Aßmus 
74*9949213aSStephan Aßmus ConfigView::~ConfigView()
75*9949213aSStephan Aßmus {
76*9949213aSStephan Aßmus }
77*9949213aSStephan Aßmus 
78