diff --git a/src/tests/kits/interface/balert/alert_manual_test/AlertManualTestApp.cpp b/src/tests/kits/interface/balert/alert_manual_test/AlertManualTestApp.cpp new file mode 100644 index 0000000000..57dcd74736 --- /dev/null +++ b/src/tests/kits/interface/balert/alert_manual_test/AlertManualTestApp.cpp @@ -0,0 +1,23 @@ +// AlertManualTestApp.cpp + +#include +#include "AlertManualTestApp.h" +#include "AlertTestWindow.h" + +int main(int argc, char **argv) +{ + AlertManualTestApp app; + app.Run(); + + return 0; +} + +AlertManualTestApp::AlertManualTestApp() + : BApplication("application/x-vnd.Haiku-AlertManualTest") +{ + BRect rect(150, 150, 600, 300); + fMainWindow = new AlertTestWindow(rect); + + fMainWindow->Show(); +} + diff --git a/src/tests/kits/interface/balert/alert_manual_test/AlertManualTestApp.h b/src/tests/kits/interface/balert/alert_manual_test/AlertManualTestApp.h new file mode 100644 index 0000000000..cf5d9bf840 --- /dev/null +++ b/src/tests/kits/interface/balert/alert_manual_test/AlertManualTestApp.h @@ -0,0 +1,17 @@ +// AlertManualTestApp.h + +#ifndef ALERT_MANUAL_TEST_APP_H +#define ALERT_MANUAL_TEST_APP_H + +#include + +class AlertManualTestApp : public BApplication { +public: + AlertManualTestApp(); + +private: + BWindow *fMainWindow; +}; + +#endif // #ifndef ALERT_MANUAL_TEST_APP_H + diff --git a/src/tests/kits/interface/balert/alert_manual_test/AlertTestWindow.cpp b/src/tests/kits/interface/balert/alert_manual_test/AlertTestWindow.cpp new file mode 100644 index 0000000000..74b02126db --- /dev/null +++ b/src/tests/kits/interface/balert/alert_manual_test/AlertTestWindow.cpp @@ -0,0 +1,158 @@ +// AlertTestWindow.cpp + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "AlertTestWindow.h" + +const char *k20X = "XXXXXXXXXXXXXXXXXXXX"; +const char *k40X = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"; +const char *k60X = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"; + +AlertTestWindow::AlertTestWindow(BRect frame) + : BWindow(frame, "AlertTestWindow", B_TITLED_WINDOW, + B_NOT_RESIZABLE | B_NOT_ZOOMABLE) +{ + fAlertType = 'H'; + + BString strLabel = "Alert Manual Test"; + app_info info; + if (be_app->GetAppInfo(&info) >= B_OK) { + BEntry entry(&info.ref); + if (entry.InitCheck() >= B_OK) { + BPath path(&entry); + if (path.InitCheck() >= B_OK) { + strLabel.Append(" ("); + strLabel.Append(path.Leaf()); + strLabel.Append(")"); + printf(": Version: %s\n", path.Leaf()); + + if (path.Leaf()[0] == 'b') + fAlertType = 'B'; + else + fAlertType = 'H'; + } + } + } + + fTitleView = new BStringView(BRect(10, 10, Bounds().Width() - 10, 30), + "title", strLabel.String()); + fTitleView->SetFontSize(16); + + fRunButton = new BButton(BRect(10, 40, 100, 60), + "runbtn", "Run", new BMessage(MSG_RUN_BUTTON)); + + AddChild(fTitleView); + AddChild(fRunButton); +} + +void +AlertTestWindow::MessageReceived(BMessage *message) +{ + switch (message->what) { + case MSG_RUN_BUTTON: + printf("%cChildAt(0); + master->SetViewColor(ui_color(B_MENU_BACKGROUND_COLOR)); + } + + BPoint pt; + BString strLabel; + BButton *pBtns[3] = { NULL }; + pBtns[0] = pAlert->ButtonAt(0); + pBtns[1] = pAlert->ButtonAt(1); + pBtns[2] = pAlert->ButtonAt(2); + + BTextView *pTextView = pAlert->TextView(); + + // Window info + printf("wi.width = %.1ff;\n" + "wi.height = %.1ff;\n" + "ati.SetWinInfo(wi);\n", + pAlert->Bounds().Width(), pAlert->Bounds().Height()); + + // TextView info + printf("\n"); + which_label(pTextView->Text(), strLabel); + pt = pTextView->ConvertToParent(BPoint(0, 0)); + printf("ti.label = %s;\n" + "ti.width = %.1ff;\n" + "ti.height = %.1ff;\n" + "ti.topleft.Set(%.1ff, %.1ff);\n" + "ati.SetTextViewInfo(ti);\n", + strLabel.String(), pTextView->Bounds().Width(), + pTextView->Bounds().Height(), pt.x, pt.y); + + // Button info + printf("\n"); + int32 i = 0; + while (i < 3 && pBtns[i] != NULL) { + BButton *pb = pBtns[i]; + which_label(pb->Label(), strLabel); + pt = pb->ConvertToParent(BPoint(0, 0)); + printf("bi.label = %s;\n" + "bi.width = %.1ff;\n" + "bi.height = %.1ff;\n" + "bi.topleft.Set(%.1ff, %.1ff);\n" + "ati.SetButtonInfo(%d, bi);\n", + strLabel.String(), pb->Bounds().Width(), + pb->Bounds().Height(), pt.x, pt.y, + (int)i); + i++; + } + + int32 result = pAlert->Go(); + printf("%c(result)); + pAlert = NULL; +} + +bool +AlertTestWindow::QuitRequested() +{ + printf("%cPostMessage(B_QUIT_REQUESTED); + return true; +} diff --git a/src/tests/kits/interface/balert/alert_manual_test/AlertTestWindow.h b/src/tests/kits/interface/balert/alert_manual_test/AlertTestWindow.h new file mode 100644 index 0000000000..63582c07d2 --- /dev/null +++ b/src/tests/kits/interface/balert/alert_manual_test/AlertTestWindow.h @@ -0,0 +1,27 @@ +// AlertTestWindow.h + +#ifndef ALERT_TEST_WINDOW_H +#define ALERT_TEST_WINDOW_H + +#include +#include +#include + +#define MSG_RUN_BUTTON 'mRNB' + +class AlertTestWindow : public BWindow { +public: + AlertTestWindow(BRect frame); + virtual void MessageReceived(BMessage *message); + virtual bool QuitRequested(); + +private: + void Test(); + + char fAlertType; + BButton *fRunButton; + BStringView *fTitleView; +}; + +#endif // #ifndef ALERT_TEST_WINDOW_H + diff --git a/src/tests/kits/interface/balert/alert_manual_test/Jamfile b/src/tests/kits/interface/balert/alert_manual_test/Jamfile new file mode 100644 index 0000000000..83354ed73d --- /dev/null +++ b/src/tests/kits/interface/balert/alert_manual_test/Jamfile @@ -0,0 +1,8 @@ +SubDir OBOS_TOP src tests kits interface balert alert_manual_test ; + +SimpleTest beAlertManualTest + : AlertManualTestApp.cpp + AlertTestWindow.cpp + : be +; +