Index: src/add-ons/translators/tiff/TIFFTranslator.cpp
===================================================================
--- src/add-ons/translators/tiff/TIFFTranslator.cpp	(révision 30289)
+++ src/add-ons/translators/tiff/TIFFTranslator.cpp	(copie de travail)
@@ -945,6 +945,5 @@
 BView *
 TIFFTranslator::NewConfigView(TranslatorSettings *settings)
 {
-	return new TIFFView(BRect(0, 0, 225, 175), "TIFFTranslator Settings",
-		B_FOLLOW_ALL, B_WILL_DRAW, settings);
+	return new TIFFView("TIFFTranslator Settings", B_WILL_DRAW, settings);
 }
Index: src/add-ons/translators/tiff/TIFFView.cpp
===================================================================
--- src/add-ons/translators/tiff/TIFFView.cpp	(révision 30289)
+++ src/add-ons/translators/tiff/TIFFView.cpp	(copie de travail)
@@ -32,6 +32,9 @@
 #include <stdio.h>
 #include <string.h>
 
+#include <GridLayoutBuilder.h>
+#include <GroupLayout.h>
+#include <GroupLayoutBuilder.h>
 #include <MenuBar.h>
 #include <MenuField.h>
 #include <MenuItem.h>
@@ -73,15 +76,35 @@
 //
 // Returns:
 // ---------------------------------------------------------------
-TIFFView::TIFFView(const BRect &frame, const char *name,
-	uint32 resize, uint32 flags, TranslatorSettings *settings)
-	:	BView(frame, name, resize, flags)
+TIFFView::TIFFView(const char *name, uint32 flags, TranslatorSettings *settings)
+	:	BView(name, flags)
 {
 	fSettings = settings;
 
 	SetViewColor(ui_color(B_PANEL_BACKGROUND_COLOR));
 	SetLowColor(ViewColor());
 
+	fTitle = new BStringView("title", "TIFF Image Translator");
+	fTitle->SetFont(be_bold_font);
+
+	char detail[100];
+	sprintf(detail, "Version %d.%d.%d %s",
+		static_cast<int>(B_TRANSLATION_MAJOR_VERSION(TIFF_TRANSLATOR_VERSION)),
+		static_cast<int>(B_TRANSLATION_MINOR_VERSION(TIFF_TRANSLATOR_VERSION)),
+		static_cast<int>(B_TRANSLATION_REVISION_VERSION(TIFF_TRANSLATOR_VERSION)),
+		__DATE__);
+	fDetail = new BStringView("detail", detail);
+
+	int16 i = 1;
+	fLibTIFF[0] = new BStringView(NULL, "TIFF Library:");
+	char libtiff[] = TIFFLIB_VERSION_STR;
+    char *tok = strtok(libtiff, "\n");
+    while (i < 5 && tok) {
+		fLibTIFF[i] = new BStringView(NULL, tok);
+		tok = strtok(NULL, "\n");
+		i++;
+    }
+
 	BPopUpMenu* menu = new BPopUpMenu("pick compression");
 
 	uint32 currentCompression = fSettings->SetGetInt32(TIFF_SETTING_COMPRESSION);
@@ -98,13 +121,31 @@
 // TODO ? - strip encoding is not implemented in libTIFF for this compression
 //	add_menu_item(menu, COMPRESSION_JP2000, "JPEG2000", currentCompression);
 
-	fCompressionMF = new BMenuField(BRect(20, 50, 215, 70), "compression",
-									"Use Compression:", menu, true);
-	fCompressionMF->ResizeToPreferred();
-	fCompressionMF->SetDivider(
-		fCompressionMF->StringWidth(fCompressionMF->Label()) + 7);
-	AddChild(fCompressionMF);
+	fCompressionMF = new BMenuField("Use Compression:", menu, NULL);
 
+	// Build the layout
+	SetLayout(new BGroupLayout(B_VERTICAL));
+
+	i = 0;
+	AddChild(BGroupLayoutBuilder(B_VERTICAL, 7)
+		.Add(fTitle)
+		.Add(fDetail)
+		.AddGlue()
+		.Add(fCompressionMF)
+		.AddGlue()
+		.Add(fLibTIFF[0])
+		.Add(fLibTIFF[1])
+		.Add(fLibTIFF[2])
+		.Add(fLibTIFF[3])
+			// Theses 4 adding above work because we know there are 4 strings
+			// but it's fragile: one string less in the library version and the application breaks
+		.AddGlue()
+		.SetInsets(5, 5, 5, 5)
+	);
+
+	BFont font;
+	GetFont(&font);
+	SetExplicitPreferredSize(BSize((font.Size() * 350)/12, (font.Size() * 200)/12));
 }
 
 // ---------------------------------------------------------------
@@ -148,7 +189,6 @@
 				fSettings->SetGetInt32(TIFF_SETTING_COMPRESSION, &value);
 				fSettings->SaveSettings();
 			}
-			fCompressionMF->ResizeToPreferred();
 			break;
 		}
 		default:
@@ -177,56 +217,3 @@
 	fCompressionMF->ResizeToPreferred();
 }
 
-
-// ---------------------------------------------------------------
-// Draw
-//
-// Draws information about the TIFFTranslator to this view.
-//
-// Preconditions:
-//
-// Parameters: area,	not used
-//
-// Postconditions:
-//
-// Returns:
-// ---------------------------------------------------------------
-void
-TIFFView::Draw(BRect area)
-{
-	SetFont(be_bold_font);
-	font_height fh;
-	GetFontHeight(&fh);
-	float xbold, ybold;
-	xbold = fh.descent + 1;
-	ybold = fh.ascent + fh.descent * 2 + fh.leading;
-	
-	char title[] = "TIFF Image Translator";
-	DrawString(title, BPoint(xbold, ybold));
-	
-	SetFont(be_plain_font);
-	font_height plainh;
-	GetFontHeight(&plainh);
-	float yplain;
-	yplain = plainh.ascent + plainh.descent * 2 + plainh.leading;
-	
-	char detail[100];
-	sprintf(detail, "Version %d.%d.%d %s",
-		static_cast<int>(B_TRANSLATION_MAJOR_VERSION(TIFF_TRANSLATOR_VERSION)),
-		static_cast<int>(B_TRANSLATION_MINOR_VERSION(TIFF_TRANSLATOR_VERSION)),
-		static_cast<int>(B_TRANSLATION_REVISION_VERSION(TIFF_TRANSLATOR_VERSION)),
-		__DATE__);
-	DrawString(detail, BPoint(xbold, yplain + ybold));
-	
-	int32 lineno = 6;
-	DrawString("TIFF Library:", BPoint(xbold, yplain * lineno + ybold));
-	lineno += 2;
-	
-	char libtiff[] = TIFFLIB_VERSION_STR;
-	char *tok = strtok(libtiff, "\n");
-	while (tok) {
-		DrawString(tok, BPoint(xbold, yplain * lineno + ybold));
-		lineno++;
-		tok = strtok(NULL, "\n");
-	}
-}
Index: src/add-ons/translators/tiff/TIFFMain.cpp
===================================================================
--- src/add-ons/translators/tiff/TIFFMain.cpp	(révision 30289)
+++ src/add-ons/translators/tiff/TIFFMain.cpp	(copie de travail)
@@ -54,8 +54,7 @@
 {
 	BApplication app("application/x-vnd.obos-tiff-translator");
 	status_t result;
-	result = LaunchTranslatorWindow(new TIFFTranslator,
-		"TIFF Settings", BRect(0, 0, 225, 175));
+	result = LaunchTranslatorWindow(new TIFFTranslator, "TIFF Settings");
 	if (result == B_OK) {
 		app.Run();
 		return 0;
Index: src/add-ons/translators/tiff/TIFFView.h
===================================================================
--- src/add-ons/translators/tiff/TIFFView.h	(révision 30289)
+++ src/add-ons/translators/tiff/TIFFView.h	(copie de travail)
@@ -34,12 +34,12 @@
 
 #include <View.h>
 #include <MenuField.h>
+#include <StringView.h>
 #include "TranslatorSettings.h"
 
 class TIFFView : public BView {
 public:
-	TIFFView(const BRect &frame, const char *name, uint32 resize,
-		uint32 flags, TranslatorSettings *settings);
+	TIFFView(const char *name, uint32 flags, TranslatorSettings *settings);
 		// sets up the view
 		
 	~TIFFView();
@@ -48,14 +48,14 @@
 	virtual void AllAttached();
 	virtual void MessageReceived(BMessage *message);
 
-	virtual	void Draw(BRect area);
-		// draws information about the TIFFTranslator
-
 	enum {
 		MSG_COMPRESSION_CHANGED	= 'cmch',
 	};
 
 private:
+	BStringView*			fTitle;
+	BStringView*			fDetail;
+	BStringView*			fLibTIFF[5];
 	BMenuField*				fCompressionMF;
 
 	TranslatorSettings *fSettings;
Index: src/add-ons/translators/raw/ConfigView.cpp
===================================================================
--- src/add-ons/translators/raw/ConfigView.cpp	(révision 30289)
+++ src/add-ons/translators/raw/ConfigView.cpp	(copie de travail)
@@ -9,54 +9,56 @@
 
 #include <StringView.h>
 #include <CheckBox.h>
+#include <GroupLayout.h>
+#include <GroupLayoutBuilder.h>
 
 #include <stdio.h>
 #include <string.h>
 
 
-ConfigView::ConfigView(const BRect &frame, uint32 resize, uint32 flags)
-	: BView(frame, "RAWTranslator Settings", resize, flags)
+ConfigView::ConfigView(uint32 flags)
+	: BView("RAWTranslator Settings", flags)
 {
 	SetViewColor(ui_color(B_PANEL_BACKGROUND_COLOR));
 
-	font_height fontHeight;
-	be_bold_font->GetHeight(&fontHeight);
-	float height = fontHeight.descent + fontHeight.ascent + fontHeight.leading;
+	BStringView *fTitle = new BStringView("title", "RAW Images");
+	fTitle->SetFont(be_bold_font);
 
-	BRect rect(10, 10, 200, 10 + height);
-	BStringView *stringView = new BStringView(rect, "title", "RAW Images");
-	stringView->SetFont(be_bold_font);
-	stringView->ResizeToPreferred();
-	AddChild(stringView);
-
-	rect.OffsetBy(0, height + 10);
 	char version[256];
 	sprintf(version, "Version %d.%d.%d, %s",
 		int(B_TRANSLATION_MAJOR_VERSION(RAW_TRANSLATOR_VERSION)),
 		int(B_TRANSLATION_MINOR_VERSION(RAW_TRANSLATOR_VERSION)),
 		int(B_TRANSLATION_REVISION_VERSION(RAW_TRANSLATOR_VERSION)),
 		__DATE__);
-	stringView = new BStringView(rect, "version", version);
-	stringView->ResizeToPreferred();
-	AddChild(stringView);
+	BStringView *fVersion = new BStringView("version", version);
 
-	GetFontHeight(&fontHeight);
-	height = fontHeight.descent + fontHeight.ascent + fontHeight.leading;
+	BStringView *fCopyright = new BStringView("copyright",
+		B_UTF8_COPYRIGHT "2007 Haiku Inc.");
 
-	rect.OffsetBy(0, height + 5);
-	stringView = new BStringView(rect, "copyright", B_UTF8_COPYRIGHT "2007 Haiku Inc.");
-	stringView->ResizeToPreferred();
-	AddChild(stringView);
+	BStringView *fCopyright2 = new BStringView("copyright2",
+		"Based on Dave Coffin's dcraw 8.63");
 
-	rect.OffsetBy(0, height + 10);
-	stringView = new BStringView(rect, "copyright2", "Based on Dave Coffin's dcraw 8.63");
-	stringView->ResizeToPreferred();
-	AddChild(stringView);
+	BStringView *fCopyright3 = new BStringView("copyright3",
+		B_UTF8_COPYRIGHT "1997-2007 Dave Coffin");
 
-	rect.OffsetBy(0, height + 5);
-	stringView = new BStringView(rect, "copyright3", B_UTF8_COPYRIGHT "1997-2007 Dave Coffin");
-	stringView->ResizeToPreferred();
-	AddChild(stringView);
+	// Build the layout
+	SetLayout(new BGroupLayout(B_HORIZONTAL));
+
+	AddChild(BGroupLayoutBuilder(B_VERTICAL, 7)
+		.Add(fTitle)
+		.AddGlue()
+		.Add(fVersion)
+		.Add(fCopyright)
+		.AddGlue()
+		.Add(fCopyright2)
+		.Add(fCopyright3)
+		.AddGlue()
+		.SetInsets(5, 5, 5, 5)
+	);
+
+	BFont font;
+	GetFont(&font);
+	SetExplicitPreferredSize(BSize((font.Size() * 233)/12, (font.Size() * 200)/12));
 }
 
 
Index: src/add-ons/translators/raw/RAWTranslator.cpp
===================================================================
--- src/add-ons/translators/raw/RAWTranslator.cpp	(révision 30289)
+++ src/add-ons/translators/raw/RAWTranslator.cpp	(copie de travail)
@@ -326,7 +326,7 @@
 BView *
 RAWTranslator::NewConfigView(TranslatorSettings *settings)
 {
-	return new ConfigView(BRect(0, 0, 225, 175));
+	return new ConfigView();
 }
 
 
Index: src/add-ons/translators/raw/main.cpp
===================================================================
--- src/add-ons/translators/raw/main.cpp	(révision 30289)
+++ src/add-ons/translators/raw/main.cpp	(copie de travail)
@@ -15,6 +15,7 @@
 #if SHOW_MODE && TEST_MODE
 #	include <Bitmap.h>
 #	include <BitmapStream.h>
+#	include <GroupLayout.h>
 #	include <String.h>
 #	include <View.h>
 #	include <Window.h>
@@ -114,14 +115,13 @@
 					if (status == B_OK)
 						status = output.DetachBitmap(&bitmap);
 					if (status == B_OK) {
-						BWindow* window = new BWindow(BRect(50, 50,
-								bitmap->Bounds().Width() + 50,
-								bitmap->Bounds().Height() + 50),
+						BWindow* window = new BWindow(BRect(0, 0, 1, 1),
 							"RAW", B_TITLED_WINDOW, B_ASYNCHRONOUS_CONTROLS
-							| B_NOT_RESIZABLE);
+							| B_NOT_RESIZABLE | B_AUTO_UPDATE_SIZE_LIMITS);
 						BView* view = new BView(window->Bounds(), NULL,
 							B_WILL_DRAW, B_FOLLOW_NONE);
 						window->AddChild(view);
+						window->SetLayout(new BGroupLayout(B_HORIZONTAL));
 						window->Show();
 						snooze(300000);
 						window->Lock();
@@ -140,8 +140,7 @@
 	}
 #endif
 
-	status_t status = LaunchTranslatorWindow(new RAWTranslator, "RAW Settings",
-		BRect(0, 0, 225, 175));
+	status_t status = LaunchTranslatorWindow(new RAWTranslator, "RAW Settings");
 	if (status != B_OK)
 		return 1;
 
Index: src/add-ons/translators/raw/ConfigView.h
===================================================================
--- src/add-ons/translators/raw/ConfigView.h	(révision 30289)
+++ src/add-ons/translators/raw/ConfigView.h	(copie de travail)
@@ -11,8 +11,7 @@
 
 class ConfigView : public BView {
 	public:
-		ConfigView(const BRect &frame, uint32 resize = B_FOLLOW_ALL,
-			uint32 flags = B_WILL_DRAW);	
+		ConfigView(uint32 flags = B_WILL_DRAW);	
 		virtual ~ConfigView();
 };
 
Index: src/add-ons/translators/ppm/PPMMain.cpp
===================================================================
--- src/add-ons/translators/ppm/PPMMain.cpp	(révision 30289)
+++ src/add-ons/translators/ppm/PPMMain.cpp	(copie de travail)
@@ -9,6 +9,7 @@
 #include <Application.h>
 #include <Alert.h>
 #include <Screen.h>
+#include <GroupLayout.h>
 
 #include <stdio.h>
 
@@ -20,10 +21,11 @@
 	public BWindow
 {
 public:
-	PPMWindow(
-			BRect area) :
-		BWindow(area, "PPM Settings", B_TITLED_WINDOW, B_NOT_RESIZABLE | B_NOT_ZOOMABLE)
+	PPMWindow(BRect area) :
+		BWindow(area, "PPM Settings", B_TITLED_WINDOW,
+			B_NOT_RESIZABLE | B_NOT_ZOOMABLE | B_AUTO_UPDATE_SIZE_LIMITS)
 		{
+			SetLayout(new BGroupLayout(B_HORIZONTAL));
 		}
 	~PPMWindow()
 		{
@@ -39,7 +41,7 @@
 {
 	BApplication app("application/x-vnd.hplus-ppm-translator");
 	BView * v = NULL;
-	BRect r(0,0,225,175);
+	BRect r(0, 0, 1, 1);
 	if (MakeConfig(NULL, &v, &r)) {
 		BAlert * err = new BAlert("Error", "Something is wrong with the PPMTranslator!", "OK");
 		err->Go();
Index: src/add-ons/translators/ppm/PPMTranslator.cpp
===================================================================
--- src/add-ons/translators/ppm/PPMTranslator.cpp	(révision 30289)
+++ src/add-ons/translators/ppm/PPMTranslator.cpp	(copie de travail)
@@ -21,6 +21,11 @@
 #include <MenuItem.h>
 #include <CheckBox.h>
 #include <Bitmap.h>
+#include <StringView.h>
+#include <GridLayoutBuilder.h>
+#include <GroupLayout.h>
+#include <GroupLayoutBuilder.h>
+#include <SpaceLayoutItem.h>
 
 #include <ctype.h>
 #include <string.h>
@@ -430,14 +435,28 @@
 {
 public:
 		PPMView(
-				const BRect & frame,
 				const char * name,
-				uint32 resize,
 				uint32 flags) :
-			BView(frame, name, resize, flags)
+			BView(name, flags)
 			{
 				SetViewColor(ui_color(B_PANEL_BACKGROUND_COLOR));
 				SetLowColor(ViewColor());
+
+				mTitle = new BStringView("title", "PPM Image Translator");
+				mTitle->SetFont(be_bold_font);
+
+				char detail[100];
+				int ver = static_cast<int>(translatorVersion);
+				sprintf(detail, "Version %d.%d.%d %s", ver >> 8, ((ver >> 4) & 0xf),
+					(ver & 0xf), __DATE__);
+				mDetail = new BStringView("detail", detail);
+
+				mBasedOn = new BStringView("basedOn",
+					"Based on PPMTranslator sample code");
+
+				mCopyright = new BStringView("copyright",
+					"Sample code copyright 1999, Be Incorporated");
+
 				mMenu = new BPopUpMenu("Color Space");
 				mMenu->AddItem(new BMenuItem("None", CSMessage(B_NO_COLOR_SPACE)));
 				mMenu->AddItem(new BMenuItem("RGB 8:8:8 32 bits", CSMessage(B_RGB32)));
@@ -458,18 +477,37 @@
 				mMenu->AddItem(new BMenuItem("RGB 5:5:5 16 bits big-endian", CSMessage(B_RGB15_BIG)));
 				mMenu->AddItem(new BMenuItem("RGBA 5:5:5:1 16 bits big-endian", CSMessage(B_RGBA15_BIG)));
 				mMenu->AddItem(new BMenuItem("RGB 5:6:5 16 bits big-endian", CSMessage(B_RGB16)));
-				mField = new BMenuField(BRect(10,110,190,130), "Color Space Field", "Input Color Space", mMenu);
-				mField->SetDivider(mField->StringWidth(mField->Label()) + 7);
+				mField = new BMenuField("Input Color Space", mMenu, NULL);
 				mField->SetViewColor(ViewColor());
-				AddChild(mField);
 				SelectColorSpace(g_settings.out_space);
 				BMessage * msg = new BMessage(CHANGE_ASCII);
-				mAscii = new BCheckBox(BRect(10,135,170,155), "Write ASCII", "Write ASCII", msg);
-				if (g_settings.write_ascii) {
+				mAscii = new BCheckBox("Write ASCII", msg);
+				if (g_settings.write_ascii)
 					mAscii->SetValue(1);
-				}
 				mAscii->SetViewColor(ViewColor());
-				AddChild(mAscii);
+
+				// Build the layout
+				SetLayout(new BGroupLayout(B_HORIZONTAL));
+
+				AddChild(BGroupLayoutBuilder(B_VERTICAL, 7)
+					.Add(mTitle)
+					.Add(mDetail)
+					.AddGlue()
+					.Add(mBasedOn)
+					.Add(mCopyright)
+					.AddGlue()
+					.Add(BGridLayoutBuilder(10, 10)
+						.Add(mField->CreateLabelLayoutItem(), 0, 0)
+						.Add(mField->CreateMenuBarLayoutItem(), 1, 0)
+						.Add(mAscii, 0, 1)
+					)
+					.AddGlue()
+					.SetInsets(5, 5, 5, 5)
+				);
+
+				BFont font;
+				GetFont(&font);
+				SetExplicitPreferredSize(BSize((font.Size() * 350)/12, (font.Size() * 200)/12));
 			}
 		~PPMView()
 			{
@@ -481,36 +519,6 @@
 			CHANGE_ASCII
 		};
 
-virtual	void Draw(
-				BRect area)
-			{
-				SetFont(be_bold_font);
-				font_height fh;
-				GetFontHeight(&fh);
-				float xbold, ybold;
-				xbold = fh.descent + 1;
-				ybold = fh.ascent + fh.descent * 2 + fh.leading;
-	
-				char title[] = "PPM Image Translator";
-				DrawString(title, BPoint(xbold, ybold));
-	
-				SetFont(be_plain_font);
-				font_height plainh;
-				GetFontHeight(&plainh);
-				float yplain;
-				yplain = plainh.ascent + plainh.descent * 2 + plainh.leading;
-	
-				char detail[100];
-				int ver = static_cast<int>(translatorVersion);
-				sprintf(detail, "Version %d.%d.%d %s", ver >> 8, ((ver >> 4) & 0xf),
-					(ver & 0xf), __DATE__);
-				DrawString(detail, BPoint(xbold, yplain + ybold));
-
-				DrawString("Based on PPMTranslator sample code",
-					BPoint(xbold, yplain * 3 + ybold));
-				DrawString("Sample code copyright 1999, Be Incorporated",
-					BPoint(xbold, yplain * 4 + ybold));
-			}
 virtual	void MessageReceived(
 				BMessage * message)
 			{
@@ -559,6 +567,10 @@
 			}
 
 private:
+		BStringView * mTitle;
+		BStringView * mDetail;
+		BStringView * mBasedOn;
+		BStringView * mCopyright;
 		BPopUpMenu * mMenu;
 		BMenuField * mField;
 		BCheckBox * mAscii;
@@ -604,8 +616,9 @@
 	BView * * outView,
 	BRect * outExtent)
 {
-	PPMView * v = new PPMView(BRect(0,0,225,175), "PPMTranslator Settings", B_FOLLOW_ALL, B_WILL_DRAW);
+	PPMView * v = new PPMView("PPMTranslator Settings", B_WILL_DRAW);
 	*outView = v;
+	v->ResizeTo(v->ExplicitPreferredSize());;
 	*outExtent = v->Bounds();
 	if (ioExtension) {
 		v->SetSettings(ioExtension);
Index: src/add-ons/translators/exr/ConfigView.cpp
===================================================================
--- src/add-ons/translators/exr/ConfigView.cpp	(révision 30289)
+++ src/add-ons/translators/exr/ConfigView.cpp	(copie de travail)
@@ -10,55 +10,61 @@
 
 #include <StringView.h>
 #include <CheckBox.h>
+#include <GroupLayout.h>
+#include <GroupLayoutBuilder.h>
+#include <SpaceLayoutItem.h>
 
 #include <stdio.h>
 #include <string.h>
 
 
-ConfigView::ConfigView(const BRect &frame, uint32 resize, uint32 flags)
-	: BView(frame, "EXRTranslator Settings", resize, flags)
+ConfigView::ConfigView(uint32 flags)
+	: BView("EXRTranslator Settings", flags)
 {
 	SetViewColor(ui_color(B_PANEL_BACKGROUND_COLOR));
 
-	font_height fontHeight;
-	be_bold_font->GetHeight(&fontHeight);
-	float height = fontHeight.descent + fontHeight.ascent + fontHeight.leading;
+	BStringView *fTitle = new BStringView("title", "EXR Images");
+	fTitle->SetFont(be_bold_font);
 
-	BRect rect(10, 10, 200, 10 + height);
-	BStringView *stringView = new BStringView(rect, "title", "EXR Images");
-	stringView->SetFont(be_bold_font);
-	stringView->ResizeToPreferred();
-	AddChild(stringView);
-
-	rect.OffsetBy(0, height + 10);
 	char version[256];
 	sprintf(version, "Version %d.%d.%d, %s",
 		int(B_TRANSLATION_MAJOR_VERSION(EXR_TRANSLATOR_VERSION)),
 		int(B_TRANSLATION_MINOR_VERSION(EXR_TRANSLATOR_VERSION)),
 		int(B_TRANSLATION_REVISION_VERSION(EXR_TRANSLATOR_VERSION)),
 		__DATE__);
-	stringView = new BStringView(rect, "version", version);
-	stringView->ResizeToPreferred();
-	AddChild(stringView);
+	BStringView *fVersion = new BStringView("version", version);
 
-	GetFontHeight(&fontHeight);
-	height = fontHeight.descent + fontHeight.ascent + fontHeight.leading;
+	BStringView *fCopyright = new BStringView("copyright",
+		B_UTF8_COPYRIGHT "2008 Haiku Inc.");
 
-	rect.OffsetBy(0, height + 5);
-	stringView = new BStringView(rect, "copyright", B_UTF8_COPYRIGHT "2008 Haiku Inc.");
-	stringView->ResizeToPreferred();
-	AddChild(stringView);
+	BStringView *fCopyright2 = new BStringView("copyright2",
+		"Based on OpenEXR (http://www.openexr.com)");
 
-	rect.OffsetBy(0, height + 10);
-	stringView = new BStringView(rect, "copyright2", "Based on OpenEXR (http://www.openexr.com)");
-	stringView->ResizeToPreferred();
-	AddChild(stringView);
+	BStringView *fCopyright3 = new BStringView("copyright3",
+		B_UTF8_COPYRIGHT "2006, Industrial Light & Magic,");
 
-	rect.OffsetBy(0, height + 5);
-	stringView = new BStringView(rect, "copyright3", B_UTF8_COPYRIGHT "2006, Industrial Light & Magic, a division of Lucasfilm "
-		"Entertainment Company Ltd");
-	stringView->ResizeToPreferred();
-	AddChild(stringView);
+	BStringView *fCopyright4 = new BStringView("copyright4",
+		"a division of Lucasfilm Entertainment Company Ltd");
+
+	// Build the layout
+	SetLayout(new BGroupLayout(B_HORIZONTAL));
+
+	AddChild(BGroupLayoutBuilder(B_VERTICAL, 7)
+		.Add(fTitle)
+		.Add(fVersion)
+		.AddGlue()
+		.Add(fCopyright)
+		.Add(fCopyright2)
+		.AddGlue()
+		.Add(fCopyright3)
+		.Add(fCopyright4)
+		.AddGlue()
+		.SetInsets(5, 5, 5, 5)
+	);
+
+	BFont font;
+	GetFont(&font);
+	SetExplicitPreferredSize(BSize((font.Size() * 400)/12, (font.Size() * 200)/12));
 }
 
 
Index: src/add-ons/translators/exr/main.cpp
===================================================================
--- src/add-ons/translators/exr/main.cpp	(révision 30289)
+++ src/add-ons/translators/exr/main.cpp	(copie de travail)
@@ -16,7 +16,7 @@
 	BApplication app("application/x-vnd.haiku-exr-translator");
 
 	status_t result;
-	result = LaunchTranslatorWindow(new EXRTranslator, "EXR Settings", BRect(0, 0, 225, 175));
+	result = LaunchTranslatorWindow(new EXRTranslator, "EXR Settings");
 	if (result != B_OK)
 		return 1;
 
Index: src/add-ons/translators/exr/ConfigView.h
===================================================================
--- src/add-ons/translators/exr/ConfigView.h	(révision 30289)
+++ src/add-ons/translators/exr/ConfigView.h	(copie de travail)
@@ -11,8 +11,7 @@
 
 class ConfigView : public BView {
 	public:
-		ConfigView(const BRect &frame, uint32 resize = B_FOLLOW_ALL,
-			uint32 flags = B_WILL_DRAW);	
+		ConfigView(uint32 flags = B_WILL_DRAW);	
 		virtual ~ConfigView();
 };
 
Index: src/add-ons/translators/exr/EXRTranslator.cpp
===================================================================
--- src/add-ons/translators/exr/EXRTranslator.cpp	(révision 30289)
+++ src/add-ons/translators/exr/EXRTranslator.cpp	(copie de travail)
@@ -229,7 +229,7 @@
 BView *
 EXRTranslator::NewConfigView(TranslatorSettings *settings)
 {
-	return new ConfigView(BRect(0, 0, 225, 175));
+	return new ConfigView();
 }
 
 
Index: src/add-ons/translators/gif/GIFView.cpp
===================================================================
--- src/add-ons/translators/gif/GIFView.cpp	(révision 30289)
+++ src/add-ons/translators/gif/GIFView.cpp	(copie de travail)
@@ -18,6 +18,9 @@
 #include <stdio.h>
 #include <stdlib.h>
 
+#include <GridLayoutBuilder.h>
+#include <GroupLayout.h>
+#include <GroupLayoutBuilder.h>
 #include <InterfaceKit.h>
 #include <String.h>
 
@@ -30,42 +33,22 @@
 extern char translatorName[];
 
 // constructor
-GIFView::GIFView(BRect rect, const char *name)
-	: BView(rect, name, B_FOLLOW_ALL, B_WILL_DRAW)
+GIFView::GIFView(const char *name)
+	: BView(name, B_WILL_DRAW)
 {
 	SetViewColor(ui_color(B_PANEL_BACKGROUND_COLOR));
-	
-	font_height fh;
-	be_bold_font->GetHeight(&fh);
-	BRect r(10, 15, 10 + be_bold_font->StringWidth(translatorName),
-		15 + fh.ascent + fh.descent);
 
-	BStringView *title = new BStringView(r, "Title", translatorName);
+	BStringView *title = new BStringView("Title", translatorName);
 	title->SetFont(be_bold_font);
-	AddChild(title);
 
 	char version_string[100];
 	sprintf(version_string, "v%d.%d.%d %s", (int)(translatorVersion >> 8), (int)((translatorVersion >> 4) & 0xf),
 		(int)(translatorVersion & 0xf), __DATE__);
-	be_plain_font->GetHeight(&fh);
-	r.bottom = r.top + fh.ascent + fh.descent;
-	r.left = r.right + 2.0 * r.Height();
-	r.right = r.left + be_plain_font->StringWidth(version_string);
+	BStringView *version = new BStringView("Version", version_string);
 
-	BStringView *version = new BStringView(r, "Version", version_string);
-	version->SetFont(be_plain_font);
-	AddChild(version);
-
 	const char *copyrightString = "©2003 Daniel Switkin, software@switkin.com";
-	r.top = r.bottom + 5;
-	r.left = 10;
-	r.bottom = r.top + fh.ascent + fh.descent;
-	r.right = rect.right - 10;
+	BStringView *copyright = new BStringView("Copyright", copyrightString);
 
-	BStringView *copyright = new BStringView(r, "Copyright", copyrightString);
-	copyright->ResizeToPreferred();
-	AddChild(copyright);
-
 	// menu fields (Palette & Colors)
 	fWebSafeMI = new BMenuItem("Websafe", new BMessage(GV_WEB_SAFE), 0, 0);
 	fBeOSSystemMI = new BMenuItem("BeOS System", new BMessage(GV_BEOS_SYSTEM), 0, 0);
@@ -89,81 +72,34 @@
 		count *= 2;
 	}
 	fColorCount256MI = fColorCountMI[7];
-	
-	r.top = r.bottom + 14;
-	r.bottom = r.top + 24;
-	fPaletteMF = new BMenuField(r, "PaletteMenuField", "Palette",
-		fPaletteM, B_FOLLOW_LEFT | B_FOLLOW_TOP, B_WILL_DRAW | B_NAVIGABLE);
-	AddChild(fPaletteMF);
 
-	r.top = r.bottom + 5;
-	r.bottom = r.top + 24;
-	fColorCountMF = new BMenuField(r, "ColorCountMenuField", "Colors",
-		fColorCountM, B_FOLLOW_LEFT | B_FOLLOW_TOP, B_WILL_DRAW | B_NAVIGABLE);
-	AddChild(fColorCountMF);
+	fPaletteMF = new BMenuField("Palette", fPaletteM, NULL);
 
-	// align menu fields
-	float maxLabelWidth = ceilf(max_c(be_plain_font->StringWidth("Colors"),
-									  be_plain_font->StringWidth("Palette")));
-	fPaletteMF->SetDivider(maxLabelWidth + 7);
-	fColorCountMF->SetDivider(maxLabelWidth + 7);
+	fColorCountMF = new BMenuField("Colors", fColorCountM, NULL);
 
-	// check boxen
-	r.top = fColorCountMF->Frame().bottom + 5;
-	r.bottom = r.top + 10;
-	fUseDitheringCB = new BCheckBox(r, "UseDithering", "Use dithering",
+	// check boxes
+	fUseDitheringCB = new BCheckBox("Use dithering",
 		new BMessage(GV_USE_DITHERING));
-	AddChild(fUseDitheringCB);
 
-	r.top = fUseDitheringCB->Frame().bottom + 2;
-	r.bottom = r.top + 10;
-	fInterlacedCB = new BCheckBox(r, "Interlaced", "Write interlaced images",
+	fInterlacedCB = new BCheckBox("Write interlaced images",
 		new BMessage(GV_INTERLACED));
-	AddChild(fInterlacedCB);
-	
-	r.top = fInterlacedCB->Frame().bottom + 2;
-	r.bottom = r.top + 10;
-	fUseTransparentCB = new BCheckBox(r, "UseTransparent", "Write transparent images",
+
+	fUseTransparentCB = new BCheckBox("Write transparent images",
 		new BMessage(GV_USE_TRANSPARENT));
-	AddChild(fUseTransparentCB);
 
 	// radio buttons
-	r.top = fUseTransparentCB->Frame().bottom + 2;
-	r.bottom = r.top + 10;
-	r.right = r.left + be_plain_font->StringWidth("Automatic (from alpha channel)") + 20;
-	fUseTransparentAutoRB = new BRadioButton(r, "UseTransparentAuto", "Automatic (from alpha channel)",
+	fUseTransparentAutoRB = new BRadioButton("Automatic (from alpha channel)",
 		new BMessage(GV_USE_TRANSPARENT_AUTO));
-	AddChild(fUseTransparentAutoRB);
-	
-	r.top = fUseTransparentAutoRB->Frame().bottom + 0;
-	r.bottom = r.top + 10;
-	r.left = 10;
-	r.right = r.left + be_plain_font->StringWidth("Use RGB color") + 20;
-	fUseTransparentColorRB = new BRadioButton(r, "UseTransparentColor", "Use RGB color",
+
+	fUseTransparentColorRB = new BRadioButton("Use RGB color",
 		new BMessage(GV_USE_TRANSPARENT_COLOR));
-	AddChild(fUseTransparentColorRB);
-	
-	r.left = r.right + 1;
-	r.right = r.left + 30;
-	fTransparentRedTC = new BTextControl(r, "TransparentRed", "", "0",
-		new BMessage(GV_TRANSPARENT_RED));
-	AddChild(fTransparentRedTC);
-	fTransparentRedTC->SetDivider(0);
-	
-	r.left = r.right + 5;
-	r.right = r.left + 30;
-	fTransparentGreenTC = new BTextControl(r, "TransparentGreen", "", "0",
-		new BMessage(GV_TRANSPARENT_GREEN));
-	AddChild(fTransparentGreenTC);
-	fTransparentGreenTC->SetDivider(0);
-	
-	r.left = r.right + 5;
-	r.right = r.left + 30;
-	fTransparentBlueTC = new BTextControl(r, "TransparentBlue", "", "0",
-		new BMessage(GV_TRANSPARENT_BLUE));
-	AddChild(fTransparentBlueTC);
-	fTransparentBlueTC->SetDivider(0);
 
+	fTransparentRedTC = new BTextControl("", "0", new BMessage(GV_TRANSPARENT_RED));
+
+	fTransparentGreenTC = new BTextControl("", "0", new BMessage(GV_TRANSPARENT_GREEN));
+
+	fTransparentBlueTC = new BTextControl("", "0", new BMessage(GV_TRANSPARENT_BLUE));
+
 	BTextView *tr = fTransparentRedTC->TextView();
 	BTextView *tg = fTransparentGreenTC->TextView();
 	BTextView *tb = fTransparentBlueTC->TextView();
@@ -176,10 +112,45 @@
 		}
 	}
 
-	RestorePrefs();
+	SetLayout(new BGroupLayout(B_HORIZONTAL));
 
-	if (copyright->Frame().right + 10 > Bounds().Width())
-		ResizeTo(copyright->Frame().right + 10, Bounds().Height());
+	AddChild(BGroupLayoutBuilder(B_VERTICAL, 7)
+		.Add(BGridLayoutBuilder(10, 10)
+			.Add(title, 0, 0)
+			.Add(version, 1, 0)
+		)
+		.Add(copyright)
+		.AddGlue()
+
+		.Add(BGridLayoutBuilder(10, 10)
+			.Add(fPaletteMF->CreateLabelLayoutItem(), 0, 0)
+        	.Add(fPaletteMF->CreateMenuBarLayoutItem(), 1, 0)
+
+			.Add(fColorCountMF->CreateLabelLayoutItem(), 0, 1)
+        	.Add(fColorCountMF->CreateMenuBarLayoutItem(), 1, 1)
+		)
+		.AddGlue()
+
+		.Add(fUseDitheringCB)
+		.Add(fInterlacedCB)
+		.Add(fUseTransparentCB)
+
+		.Add(fUseTransparentAutoRB)
+		.Add(BGridLayoutBuilder(10, 10)
+			.Add(fUseTransparentColorRB, 0, 0)
+			.Add(fTransparentRedTC, 1, 0)
+			.Add(fTransparentGreenTC, 2, 0)
+			.Add(fTransparentBlueTC, 3, 0)
+		)
+		.AddGlue()
+		.SetInsets(5, 5, 5, 5)
+	);
+
+	BFont font;
+	GetFont(&font);
+	SetExplicitPreferredSize(BSize((font.Size() * 400)/12, (font.Size() * 300)/12));
+
+	RestorePrefs();
 }
 
 
Index: src/add-ons/translators/gif/GIFView.h
===================================================================
--- src/add-ons/translators/gif/GIFView.h	(révision 30289)
+++ src/add-ons/translators/gif/GIFView.h	(copie de travail)
@@ -44,7 +44,7 @@
 
 class GIFView : public BView {
  public:
-							GIFView(BRect rect, const char* name);
+							GIFView(const char* name);
 	virtual					~GIFView();
 
 	virtual	void			MessageReceived(BMessage* message);
Index: src/add-ons/translators/gif/GIFTranslator.cpp
===================================================================
--- src/add-ons/translators/gif/GIFTranslator.cpp	(révision 30289)
+++ src/add-ons/translators/gif/GIFTranslator.cpp	(copie de travail)
@@ -61,9 +61,10 @@
 status_t
 MakeConfig(BMessage *ioExtension, BView **outView, BRect *outExtent)
 {
-	outExtent->Set(0, 0, 239, 239);
-	GIFView *gifview = new GIFView(*outExtent, "TranslatorView");
+	GIFView *gifview = new GIFView("TranslatorView");
 	*outView = gifview;
+	gifview->ResizeTo(gifview->ExplicitPreferredSize());
+	*outExtent = gifview->Bounds();
 	return B_OK;
 }
 
Index: src/add-ons/translators/gif/GIFWindow.cpp
===================================================================
--- src/add-ons/translators/gif/GIFWindow.cpp	(révision 30289)
+++ src/add-ons/translators/gif/GIFWindow.cpp	(copie de travail)
@@ -16,13 +16,13 @@
 #include "GIFWindow.h"
 #include "GIFView.h"
 #include <Application.h>
+#include <GroupLayout.h>
 
 GIFWindow::GIFWindow(BRect rect, const char *name) :
-	BWindow(rect, name, B_TITLED_WINDOW, B_NOT_RESIZABLE | B_NOT_ZOOMABLE,
-	B_CURRENT_WORKSPACE) {
-	
-	BRect r(Bounds());
-	gifview = new GIFView(r, "GIFView");
+	BWindow(rect, name, B_TITLED_WINDOW, B_NOT_RESIZABLE | B_NOT_ZOOMABLE
+	| B_AUTO_UPDATE_SIZE_LIMITS, B_CURRENT_WORKSPACE) {
+	SetLayout(new BGroupLayout(B_HORIZONTAL));
+	gifview = new GIFView("GIFView");
 	AddChild(gifview);
 }
 
Index: src/add-ons/translators/shared/TranslatorWindow.cpp
===================================================================
--- src/add-ons/translators/shared/TranslatorWindow.cpp	(révision 30289)
+++ src/add-ons/translators/shared/TranslatorWindow.cpp	(copie de travail)
@@ -31,6 +31,7 @@
 
 #include <Screen.h>
 #include <Alert.h>
+#include <GroupLayout.h>
 #include "TranslatorWindow.h"
 
 // ---------------------------------------------------------------
@@ -48,8 +49,11 @@
 // ---------------------------------------------------------------
 TranslatorWindow::TranslatorWindow(BRect area, const char *title)
 	:	BWindow(area, title, B_TITLED_WINDOW,
-			B_NOT_RESIZABLE | B_NOT_ZOOMABLE)
+			B_NOT_RESIZABLE | B_NOT_ZOOMABLE | B_AUTO_UPDATE_SIZE_LIMITS)
 {
+	SetLayout(new BGroupLayout(B_HORIZONTAL));
+		// Set the layout on layout window
+		// Do nothing for a non-layout window
 }
 
 // ---------------------------------------------------------------
@@ -85,7 +89,6 @@
 	translator = NULL;
 
 	TranslatorWindow *wnd = new TranslatorWindow(rect, title);
-	view->ResizeTo(rect.Width(), rect.Height());
 	wnd->AddChild(view);
 	BPoint wndpt = B_ORIGIN;
 	{
Index: src/add-ons/translators/shared/BaseTranslator.cpp
===================================================================
--- src/add-ons/translators/shared/BaseTranslator.cpp	(révision 30289)
+++ src/add-ons/translators/shared/BaseTranslator.cpp	(copie de travail)
@@ -641,8 +641,12 @@
 
 	BView *view = NewConfigView(AcquireSettings());
 		// implemented in derived class
+
 	if (view) {
 		*outView = view;
+		if ((view->Flags() & B_SUPPORTS_LAYOUT) != 0)
+			view->ResizeTo(view->ExplicitPreferredSize());
+
 		*outExtent = view->Bounds();
 
 		return B_OK;
Index: src/add-ons/translators/shared/TranslatorWindow.h
===================================================================
--- src/add-ons/translators/shared/TranslatorWindow.h	(révision 30289)
+++ src/add-ons/translators/shared/TranslatorWindow.h	(copie de travail)
@@ -48,7 +48,8 @@
 };
 
 status_t
-LaunchTranslatorWindow(BTranslator *translator, const char *title, BRect rect);
+LaunchTranslatorWindow(BTranslator *translator, const char *title,
+						BRect rect = BRect(0, 0, 1, 1));
 
 #endif // #ifndef TRANSLATORWINDOW_H
 
Index: src/add-ons/translators/tga/TGAMain.cpp
===================================================================
--- src/add-ons/translators/tga/TGAMain.cpp	(révision 30289)
+++ src/add-ons/translators/tga/TGAMain.cpp	(copie de travail)
@@ -49,8 +49,7 @@
 {
 	BApplication app("application/x-vnd.obos-tga-translator");
 	status_t result;
-	result = LaunchTranslatorWindow(new TGATranslator,
-		"TGA Settings", BRect(0, 0, 225, 175));
+	result = LaunchTranslatorWindow(new TGATranslator, "TGA Settings");
 	if (result == B_OK) {
 		app.Run();
 		return 0;
Index: src/add-ons/translators/tga/TGATranslator.cpp
===================================================================
--- src/add-ons/translators/tga/TGATranslator.cpp	(révision 30289)
+++ src/add-ons/translators/tga/TGATranslator.cpp	(copie de travail)
@@ -2188,7 +2188,6 @@
 BView *
 TGATranslator::NewConfigView(TranslatorSettings *settings)
 {
-	return new TGAView(BRect(0, 0, 225, 175), "TGATranslator Settings",
-		B_FOLLOW_ALL, B_WILL_DRAW, settings);
+	return new TGAView("TGATranslator Settings", B_WILL_DRAW, settings);
 }
 
Index: src/add-ons/translators/tga/TGAView.cpp
===================================================================
--- src/add-ons/translators/tga/TGAView.cpp	(révision 30289)
+++ src/add-ons/translators/tga/TGAView.cpp	(copie de travail)
@@ -30,6 +30,9 @@
 
 #include <stdio.h>
 #include <string.h>
+#include <GroupLayout.h>
+#include <GroupLayoutBuilder.h>
+#include <SpaceLayoutItem.h>
 #include "TGAView.h"
 #include "TGATranslator.h"
 
@@ -46,9 +49,8 @@
 //
 // Returns:
 // ---------------------------------------------------------------
-TGAView::TGAView(const BRect &frame, const char *name,
-	uint32 resize, uint32 flags, TranslatorSettings *settings)
-	:	BView(frame, name, resize, flags)
+TGAView::TGAView(const char *name, uint32 flags, TranslatorSettings *settings)
+	:	BView(name, flags)
 {
 	fSettings = settings;
 	
@@ -57,24 +59,50 @@
 	
 	BMessage *pmsg;
 	int32 val;
-	
+
+	fTitle = new BStringView("title", "TGA Image Translator");
+	fTitle->SetFont(be_bold_font);
+
+	char detail[100];
+	sprintf(detail, "Version %d.%d.%d %s",
+		static_cast<int>(B_TRANSLATION_MAJOR_VERSION(TGA_TRANSLATOR_VERSION)),
+		static_cast<int>(B_TRANSLATION_MINOR_VERSION(TGA_TRANSLATOR_VERSION)),
+		static_cast<int>(B_TRANSLATION_REVISION_VERSION(TGA_TRANSLATOR_VERSION)),
+		__DATE__);
+	fDetail = new BStringView("detail", detail);
+	fWrittenBy = new BStringView("writtenby",
+		"Written by the Haiku Translation Kit Team");
+
 	pmsg = new BMessage(CHANGE_IGNORE_ALPHA);
-	fpchkIgnoreAlpha = new BCheckBox(BRect(10, 45, 180, 62),
-		"Ignore TGA alpha channel",
-		"Ignore TGA alpha channel", pmsg);
+	fpchkIgnoreAlpha = new BCheckBox("Ignore TGA alpha channel", pmsg);
 	val = (fSettings->SetGetBool(TGA_SETTING_IGNORE_ALPHA)) ? 1 : 0;
 	fpchkIgnoreAlpha->SetValue(val);
 	fpchkIgnoreAlpha->SetViewColor(ViewColor());
-	AddChild(fpchkIgnoreAlpha);
 	
 	pmsg = new BMessage(CHANGE_RLE);
-	fpchkRLE = new BCheckBox(BRect(10, 67, 180, 84),
-		"Save with RLE Compression",
-		"Save with RLE Compression", pmsg);
+	fpchkRLE = new BCheckBox("Save with RLE Compression", pmsg);
 	val = (fSettings->SetGetBool(TGA_SETTING_RLE)) ? 1 : 0;
 	fpchkRLE->SetValue(val);
 	fpchkRLE->SetViewColor(ViewColor());
-	AddChild(fpchkRLE);
+
+	// Build the layout
+	SetLayout(new BGroupLayout(B_HORIZONTAL));
+
+	AddChild(BGroupLayoutBuilder(B_VERTICAL, 7)
+		.Add(fTitle)
+		.Add(fDetail)
+		.AddGlue()
+		.Add(fpchkIgnoreAlpha)
+		.Add(fpchkRLE)
+		.AddGlue()
+		.Add(fWrittenBy)
+		.AddGlue()
+		.SetInsets(5, 5, 5, 5)
+	);
+
+	BFont font;
+	GetFont(&font);
+	SetExplicitPreferredSize(BSize((font.Size() * 333)/12, (font.Size() * 200)/12));
 }
 
 // ---------------------------------------------------------------
@@ -157,49 +185,3 @@
 			break;
 	}
 }
-
-// ---------------------------------------------------------------
-// Draw
-//
-// Draws information about the TGATranslator to this view.
-//
-// Preconditions:
-//
-// Parameters: area,	not used
-//
-// Postconditions:
-//
-// Returns:
-// ---------------------------------------------------------------
-void
-TGAView::Draw(BRect area)
-{
-	SetFont(be_bold_font);
-	font_height fh;
-	GetFontHeight(&fh);
-	float xbold, ybold;
-	xbold = fh.descent + 1;
-	ybold = fh.ascent + fh.descent * 2 + fh.leading;
-	
-	char title[] = "TGA Image Translator";
-	DrawString(title, BPoint(xbold, ybold));
-	
-	SetFont(be_plain_font);
-	font_height plainh;
-	GetFontHeight(&plainh);
-	float yplain;
-	yplain = plainh.ascent + plainh.descent * 2 + plainh.leading;
-	
-	char detail[100];
-	sprintf(detail, "Version %d.%d.%d %s",
-		static_cast<int>(B_TRANSLATION_MAJOR_VERSION(TGA_TRANSLATOR_VERSION)),
-		static_cast<int>(B_TRANSLATION_MINOR_VERSION(TGA_TRANSLATOR_VERSION)),
-		static_cast<int>(B_TRANSLATION_REVISION_VERSION(TGA_TRANSLATOR_VERSION)),
-		__DATE__);
-	DrawString(detail, BPoint(xbold, yplain + ybold));
-/*	char copyright[] = "© 2002 Haiku Project";
-	DrawString(copyright, BPoint(xbold, yplain * 2 + ybold));
-*/	
-	char writtenby[] = "Written by the Haiku Translation Kit Team";
-	DrawString(writtenby, BPoint(xbold, yplain * 7 + ybold));
-}
Index: src/add-ons/translators/tga/TGAView.h
===================================================================
--- src/add-ons/translators/tga/TGAView.h	(révision 30289)
+++ src/add-ons/translators/tga/TGAView.h	(copie de travail)
@@ -33,12 +33,12 @@
 
 #include <View.h>
 #include <CheckBox.h>
+#include <StringView.h>
 #include "TranslatorSettings.h"
 
 class TGAView : public BView {
 public:
-	TGAView(const BRect &frame, const char *name, uint32 resize,
-		uint32 flags, TranslatorSettings *settings);
+	TGAView(const char *name, uint32 flags, TranslatorSettings *settings);
 		// sets up the view
 		
 	~TGAView();
@@ -46,12 +46,12 @@
 		
 	virtual void AllAttached();
 	virtual void MessageReceived(BMessage *message);
-
-	virtual	void Draw(BRect area);
-		// draws information about the TGATranslator
 		
 	enum { CHANGE_RLE, CHANGE_IGNORE_ALPHA };
 private:
+	BStringView *fTitle;
+	BStringView *fDetail;
+	BStringView *fWrittenBy;
 	BCheckBox *fpchkIgnoreAlpha;
 	BCheckBox *fpchkRLE;
 	
