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*52a38012SejakowatzWorkView::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*52a38012SejakowatzWorkView::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*52a38012SejakowatzWorkView::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