nux-1.16.0
|
00001 /* 00002 * Copyright 2010 Inalogic Inc. 00003 * 00004 * This program is free software: you can redistribute it and/or modify it 00005 * under the terms of the GNU General Public License version 3, as published 00006 * by the Free Software Foundation. 00007 * 00008 * This program is distributed in the hope that it will be useful, but 00009 * WITHOUT ANY WARRANTY; without even the implied warranties of 00010 * MERCHANTABILITY, SATISFACTORY QUALITY or FITNESS FOR A PARTICULAR 00011 * PURPOSE. See the GNU General Public License for more details. 00012 * 00013 * You should have received a copy of the GNU General Public License 00014 * version 3 along with this program. If not, see 00015 * <http://www.gnu.org/licenses/> 00016 * 00017 * Authored by: Jay Taoko <jaytaoko@inalogic.com> 00018 * 00019 */ 00020 00021 #include "Nux/Nux.h" 00022 #include "Nux/VLayout.h" 00023 #include "Nux/HLayout.h" 00024 #include "Nux/WindowThread.h" 00025 #include "Nux/TextEntry.h" 00026 00027 void ThreadWidgetInit(nux::NThread* thread, void* InitData) 00028 { 00029 nux::VLayout* MainVLayout = new nux::VLayout(NUX_TRACKER_LOCATION); 00030 00031 nux::TextEntry* text_entry_0 = new nux::TextEntry(TEXT("0123456789 abcdefghijklmnopqrstuvwxyz"), NUX_TRACKER_LOCATION); 00032 00033 nux::TextEntry* text_entry_1 = new nux::TextEntry(TEXT("0123456789 abcdefghijklmnopqrstuvwxyz"), NUX_TRACKER_LOCATION); 00034 00035 nux::TextEntry* text_entry_2 = new nux::TextEntry(TEXT("0123456789 abcdefghijklmnopqrstuvwxyz"), NUX_TRACKER_LOCATION); 00036 00037 text_entry_0->SetMaximumWidth(300); 00038 text_entry_0->SetMinimumHeight (20); 00039 00040 text_entry_1->SetMaximumWidth(300); 00041 text_entry_1->SetMinimumHeight (20); 00042 00043 text_entry_2->SetMaximumWidth(300); 00044 text_entry_2->SetMinimumHeight (20); 00045 00046 MainVLayout->AddView(text_entry_0, 0, nux::eCenter, nux::eFull); 00047 MainVLayout->AddView(text_entry_1, 0, nux::eCenter, nux::eFull); 00048 MainVLayout->AddView(text_entry_2, 0, nux::eCenter, nux::eFull, 1.0, nux::NUX_LAYOUT_BEGIN); 00049 00050 MainVLayout->SetVerticalInternalMargin(10); 00051 00052 MainVLayout->SetContentDistribution(nux::eStackCenter); 00053 MainVLayout->SetFocused (true); 00054 nux::GetWindowThread ()->SetLayout(MainVLayout); 00055 nux::ColorLayer background(nux::Color(0xFF4D4D4D)); 00056 static_cast<nux::WindowThread*>(thread)->SetWindowBackgroundPaintLayer(&background); 00057 } 00058 00059 int main(int argc, char **argv) 00060 { 00061 nux::NuxInitialize(0); 00062 nux::WindowThread* wt = nux::CreateGUIThread(TEXT("Text Entry"), 400, 300, 0, &ThreadWidgetInit, 0); 00063 wt->Run(NULL); 00064 00065 delete wt; 00066 return 0; 00067 }