xref: /haiku/src/tests/kits/translation/multitest/WorkView.cpp (revision 52a380120846174213ccce9c4aab0dda17c72083)
1*52a38012Sejakowatz // WorkView.cpp
2*52a38012Sejakowatz 
3*52a38012Sejakowatz #include <Application.h>
4*52a38012Sejakowatz #include <TranslationUtils.h>
5*52a38012Sejakowatz #include <Bitmap.h>
6*52a38012Sejakowatz #include <stdio.h>
7*52a38012Sejakowatz #include <Path.h>
8*52a38012Sejakowatz #include "MultiTest.h"
9*52a38012Sejakowatz #include "WorkView.h"
10*52a38012Sejakowatz 
11*52a38012Sejakowatz const char *kPath1 = "../data/images/image.jpg";
12*52a38012Sejakowatz const char *kPath2 = "../data/images/image.gif";
13*52a38012Sejakowatz 
WorkView(BRect rect)14*52a38012Sejakowatz WorkView::WorkView(BRect rect)
15*52a38012Sejakowatz 	: BView(rect, "Work View", B_FOLLOW_ALL, B_WILL_DRAW | B_PULSE_NEEDED)
16*52a38012Sejakowatz {
17*52a38012Sejakowatz 	fbImage = true;
18*52a38012Sejakowatz 	fPath = kPath1;
19*52a38012Sejakowatz }
20*52a38012Sejakowatz 
21*52a38012Sejakowatz void
AttachedToWindow()22*52a38012Sejakowatz WorkView::AttachedToWindow()
23*52a38012Sejakowatz {
24*52a38012Sejakowatz 	BTranslatorRoster *pRoster = NULL;
25*52a38012Sejakowatz 	BBitmap *pBitmap;
26*52a38012Sejakowatz 
27*52a38012Sejakowatz 	//pRoster = ((MultiTestApplication *) be_app)->GetTranslatorRoster();
28*52a38012Sejakowatz 
29*52a38012Sejakowatz 	pBitmap = BTranslationUtils::GetBitmap(fPath, pRoster);
30*52a38012Sejakowatz 	if (pBitmap) {
31*52a38012Sejakowatz 		SetViewBitmap(pBitmap);
32*52a38012Sejakowatz 		delete pBitmap;
33*52a38012Sejakowatz 	}
34*52a38012Sejakowatz }
35*52a38012Sejakowatz 
36*52a38012Sejakowatz void
Pulse()37*52a38012Sejakowatz WorkView::Pulse()
38*52a38012Sejakowatz {
39*52a38012Sejakowatz 	if (fbImage) {
40*52a38012Sejakowatz 		ClearViewBitmap();
41*52a38012Sejakowatz 		fbImage = false;
42*52a38012Sejakowatz 		if (fPath == kPath1)
43*52a38012Sejakowatz 			fPath = kPath2;
44*52a38012Sejakowatz 		else
45*52a38012Sejakowatz 			fPath = kPath1;
46*52a38012Sejakowatz 	} else {
47*52a38012Sejakowatz 		//BTranslatorRoster *pRoster = NULL;
48*52a38012Sejakowatz 		BBitmap *pBitmap = BTranslationUtils::GetBitmapFile(fPath);
49*52a38012Sejakowatz 		if (pBitmap) {
50*52a38012Sejakowatz 			ClearViewBitmap();
51*52a38012Sejakowatz 			SetViewBitmap(pBitmap);
52*52a38012Sejakowatz 			delete pBitmap;
53*52a38012Sejakowatz 		} else {
54*52a38012Sejakowatz 			BPath Path(fPath);
55*52a38012Sejakowatz 			printf("-- failed to get bitmap (%s)!\n", Path.Path());
56*52a38012Sejakowatz 		}
57*52a38012Sejakowatz 		fbImage = true;
58*52a38012Sejakowatz 	}
59*52a38012Sejakowatz 
60*52a38012Sejakowatz 	Invalidate();
61*52a38012Sejakowatz }
62