1 /* PoorManLoggingView.cpp 2 * 3 * Philip Harrison 4 * Started: 5/12/2004 5 * Version: 0.1 6 */ 7 8 #include <Box.h> 9 #include <Catalog.h> 10 #include <LayoutBuilder.h> 11 #include <Locale.h> 12 13 #include "constants.h" 14 #include "PoorManWindow.h" 15 #include "PoorManApplication.h" 16 #include "PoorManLoggingView.h" 17 18 19 #undef B_TRANSLATION_CONTEXT 20 #define B_TRANSLATION_CONTEXT "PoorMan" 21 22 23 PoorManLoggingView::PoorManLoggingView(const char* name) 24 : 25 BView(name, B_WILL_DRAW, NULL) 26 { 27 PoorManWindow* win; 28 win = ((PoorManApplication*)be_app)->GetPoorManWindow(); 29 30 BBox* consoleLogging = new BBox(B_TRANSLATE("Console Logging")); 31 consoleLogging->SetLabel(STR_BBX_CONSOLE_LOGGING); 32 33 // File Logging BBox 34 BBox* fileLogging = new BBox(B_TRANSLATE("File Logging")); 35 fileLogging->SetLabel(STR_BBX_FILE_LOGGING); 36 37 // Console Logging 38 fLogConsole = new BCheckBox(B_TRANSLATE("Log To Console"), 39 STR_CBX_LOG_CONSOLE, new BMessage(MSG_PREF_LOG_CBX_CONSOLE)); 40 // set the checkbox to the value the program has 41 SetLogConsoleValue(win->LogConsoleFlag()); 42 43 // File Logging 44 fLogFile = new BCheckBox(B_TRANSLATE("Log To File"), STR_CBX_LOG_FILE, 45 new BMessage(MSG_PREF_LOG_CBX_FILE)); 46 // set the checkbox to the value the program has 47 SetLogFileValue(win->LogFileFlag()); 48 49 // File Name 50 fLogFileName = new BTextControl(B_TRANSLATE("File Name"), 51 STR_TXT_LOG_FILE_NAME, NULL, NULL); 52 SetLogFileName(win->LogPath()); 53 54 // Create Log File 55 fCreateLogFile = new BButton(B_TRANSLATE("Create Log File"), 56 STR_BTN_CREATE_LOG_FILE, new BMessage(MSG_PREF_LOG_BTN_CREATE_FILE)); 57 58 BGroupLayout* consoleLoggingLayout = new BGroupLayout(B_VERTICAL, 0); 59 consoleLogging->SetLayout(consoleLoggingLayout); 60 61 BGroupLayout* fileLoggingLayout = new BGroupLayout(B_VERTICAL, 62 B_USE_SMALL_SPACING); 63 fileLogging->SetLayout(fileLoggingLayout); 64 65 BLayoutBuilder::Group<>(this, B_VERTICAL) 66 .SetInsets(B_USE_WINDOW_SPACING, B_USE_WINDOW_SPACING, 67 B_USE_WINDOW_SPACING, B_USE_DEFAULT_SPACING) 68 .AddGroup(consoleLoggingLayout) 69 .SetInsets(B_USE_ITEM_INSETS) 70 .AddGroup(B_HORIZONTAL) 71 .SetInsets(0, B_USE_ITEM_INSETS, 0, 0) 72 .Add(fLogConsole) 73 .AddGlue() 74 .End() 75 .End() 76 .AddGroup(fileLoggingLayout) 77 .SetInsets(B_USE_ITEM_INSETS) 78 .AddGrid(B_USE_SMALL_SPACING, B_USE_SMALL_SPACING) 79 .SetInsets(0, B_USE_ITEM_INSETS, 0, 0) 80 .Add(fLogFile, 0, 0) 81 .AddTextControl(fLogFileName, 0, 1, B_ALIGN_LEFT, 1, 2) 82 .Add(fCreateLogFile, 2, 2); 83 } 84