Back to index

unity  6.0.0
StandalonePanel.cpp
Go to the documentation of this file.
00001 /*
00002  * Copyright 2010 Canonical Ltd.
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: Neil Jagdish Patel <neil.patel@canonical.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 "NuxGraphics/GraphicsEngine.h"
00026 #include <gtk/gtk.h>
00027 
00028 #include "unity-shared/UnitySettings.h"
00029 #include "unity-shared/PanelStyle.h"
00030 #include "PanelView.h"
00031 #include <dbus/dbus-glib.h>
00032 
00033 void ThreadWidgetInit(nux::NThread* thread, void* InitData)
00034 {
00035   nux::VLayout* layout = new nux::VLayout(TEXT(""), NUX_TRACKER_LOCATION);
00036   unity::PanelView* view = new unity::PanelView();
00037 
00038   //view->SetMinMaxSize(1024, 24);
00039   view->SetPrimary(true);
00040   layout->AddView(view, 1, nux::eCenter, nux::eFull);
00041   layout->SetContentDistribution(nux::eStackCenter);
00042 
00043   nux::GetWindowThread()->SetLayout(layout);
00044 }
00045 
00046 int main(int argc, char** argv)
00047 {
00048   g_type_init();
00049   
00050   gtk_init(&argc, &argv);
00051 
00052   dbus_g_thread_init();
00053 
00054   nux::NuxInitialize(0);
00055 
00056   // The instances for the pseudo-singletons.
00057   unity::Settings settings;
00058   unity::panel::Style panel_style;
00059 
00060   nux::WindowThread* wt = nux::CreateGUIThread(TEXT("Unity Panel"), 1024, 24, 0, &ThreadWidgetInit, 0);
00061 
00062   wt->Run(NULL);
00063   delete wt;
00064   return 0;
00065 }