haiku/src/apps/poorman/PoorManLoggingView.cpp

84 lines
2.4 KiB
C++

/* PoorManLoggingView.cpp
*
* Philip Harrison
* Started: 5/12/2004
* Version: 0.1
*/
#include <Box.h>
#include <Catalog.h>
#include <LayoutBuilder.h>
#include <Locale.h>
#include "constants.h"
#include "PoorManWindow.h"
#include "PoorManApplication.h"
#include "PoorManLoggingView.h"
#undef B_TRANSLATION_CONTEXT
#define B_TRANSLATION_CONTEXT "PoorMan"
PoorManLoggingView::PoorManLoggingView(const char* name)
:
BView(name, B_WILL_DRAW, NULL)
{
PoorManWindow* win;
win = ((PoorManApplication*)be_app)->GetPoorManWindow();
BBox* consoleLogging = new BBox(B_TRANSLATE("Console Logging"));
consoleLogging->SetLabel(STR_BBX_CONSOLE_LOGGING);
// File Logging BBox
BBox* fileLogging = new BBox(B_TRANSLATE("File Logging"));
fileLogging->SetLabel(STR_BBX_FILE_LOGGING);
// Console Logging
fLogConsole = new BCheckBox(B_TRANSLATE("Log To Console"),
STR_CBX_LOG_CONSOLE, new BMessage(MSG_PREF_LOG_CBX_CONSOLE));
// set the checkbox to the value the program has
SetLogConsoleValue(win->LogConsoleFlag());
// File Logging
fLogFile = new BCheckBox(B_TRANSLATE("Log To File"), STR_CBX_LOG_FILE,
new BMessage(MSG_PREF_LOG_CBX_FILE));
// set the checkbox to the value the program has
SetLogFileValue(win->LogFileFlag());
// File Name
fLogFileName = new BTextControl(B_TRANSLATE("File Name"),
STR_TXT_LOG_FILE_NAME, NULL, NULL);
SetLogFileName(win->LogPath());
// Create Log File
fCreateLogFile = new BButton(B_TRANSLATE("Create Log File"),
STR_BTN_CREATE_LOG_FILE, new BMessage(MSG_PREF_LOG_BTN_CREATE_FILE));
BGroupLayout* consoleLoggingLayout = new BGroupLayout(B_VERTICAL, 0);
consoleLogging->SetLayout(consoleLoggingLayout);
BGroupLayout* fileLoggingLayout = new BGroupLayout(B_VERTICAL,
B_USE_SMALL_SPACING);
fileLogging->SetLayout(fileLoggingLayout);
BLayoutBuilder::Group<>(this, B_VERTICAL)
.SetInsets(B_USE_WINDOW_SPACING, B_USE_WINDOW_SPACING,
B_USE_WINDOW_SPACING, B_USE_DEFAULT_SPACING)
.AddGroup(consoleLoggingLayout)
.SetInsets(B_USE_ITEM_INSETS)
.AddGroup(B_HORIZONTAL)
.SetInsets(0, B_USE_ITEM_INSETS, 0, 0)
.Add(fLogConsole)
.AddGlue()
.End()
.End()
.AddGroup(fileLoggingLayout)
.SetInsets(B_USE_ITEM_INSETS)
.AddGrid(B_USE_SMALL_SPACING, B_USE_SMALL_SPACING)
.SetInsets(0, B_USE_ITEM_INSETS, 0, 0)
.Add(fLogFile, 0, 0)
.AddTextControl(fLogFileName, 0, 1, B_ALIGN_LEFT, 1, 2)
.Add(fCreateLogFile, 2, 2);
}