Просмотр исходного кода

fix a few windows wx issues, make windows use default GUI fonts, and a few other minor tweaks

jp9000 12 лет назад
Родитель
Сommit
b159baf145
8 измененных файлов с 88 добавлено и 116 удалено
  1. 9 25
      obs/OBSWindows.cpp
  2. 59 81
      obs/OBSWindows.fbp
  3. 9 5
      obs/OBSWindows.h
  4. 1 0
      obs/makefile.am
  5. 1 1
      obs/obs.cpp
  6. 1 4
      obs/window-obs-basic.cpp
  7. 2 0
      vs/2010/OBS/OBS.vcxproj
  8. 6 0
      vs/2010/OBS/OBS.vcxproj.filters

+ 9 - 25
obs/OBSWindows.cpp

@@ -1,10 +1,12 @@
 ///////////////////////////////////////////////////////////////////////////
-// C++ code generated with wxFormBuilder (version Oct  8 2012)
+// C++ code generated with wxFormBuilder (version Nov  6 2013)
 // http://www.wxformbuilder.org/
 //
 // PLEASE DO "NOT" EDIT THIS FILE!
 ///////////////////////////////////////////////////////////////////////////
 
+#include "window-subclass.hpp"
+
 #include "OBSWindows.h"
 
 #include "res/delete.ico.h"
@@ -15,10 +17,9 @@
 
 ///////////////////////////////////////////////////////////////////////////
 
-OBSBasicBase::OBSBasicBase( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : wxFrame( parent, id, title, pos, size, style )
+OBSBasicBase::OBSBasicBase( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : WindowSubclass( parent, id, title, pos, size, style )
 {
 	this->SetSizeHints( wxDefaultSize, wxDefaultSize );
-	this->SetFont( wxFont( 8, 70, 90, 90, false, wxT("Tahoma") ) );
 	
 	mainMenu = new wxMenuBar( 0 );
 	fileMenu = new wxMenu();
@@ -110,8 +111,6 @@ OBSBasicBase::OBSBasicBase( wxWindow* parent, wxWindowID id, const wxString& tit
 	
 	scenesToolbar->AddSeparator(); 
 	
-	scenesToolbar->AddSeparator(); 
-	
 	scenesToolbar->AddTool( ID_SCENE_MOVEUP, _("tool"), up_ico_to_wx_bitmap(), wxNullBitmap, wxITEM_NORMAL, wxEmptyString, wxEmptyString, NULL ); 
 	
 	scenesToolbar->AddTool( ID_SCENE_MOVEDOWN, _("tool"), down_ico_to_wx_bitmap(), wxNullBitmap, wxITEM_NORMAL, wxEmptyString, wxEmptyString, NULL ); 
@@ -155,8 +154,6 @@ OBSBasicBase::OBSBasicBase( wxWindow* parent, wxWindowID id, const wxString& tit
 	
 	sourcesToolbar->AddSeparator(); 
 	
-	sourcesToolbar->AddSeparator(); 
-	
 	sourcesToolbar->AddTool( ID_SOURCE_MOVEUP, _("tool"), up_ico_to_wx_bitmap(), wxNullBitmap, wxITEM_NORMAL, wxEmptyString, wxEmptyString, NULL ); 
 	
 	sourcesToolbar->AddTool( ID_SOURCE_MOVEDOWN, _("tool"), down_ico_to_wx_bitmap(), wxNullBitmap, wxITEM_NORMAL, wxEmptyString, wxEmptyString, NULL ); 
@@ -275,10 +272,9 @@ OBSBasicBase::~OBSBasicBase()
 	
 }
 
-OBSStudioBase::OBSStudioBase( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : wxFrame( parent, id, title, pos, size, style )
+OBSStudioBase::OBSStudioBase( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : WindowSubclass( parent, id, title, pos, size, style )
 {
 	this->SetSizeHints( wxSize( 900,400 ), wxDefaultSize );
-	this->SetFont( wxFont( 8, 70, 90, 90, false, wxT("Tahoma") ) );
 	
 	wxBoxSizer* clientSIzer;
 	clientSIzer = new wxBoxSizer( wxVERTICAL );
@@ -373,7 +369,7 @@ OBSStudioBase::OBSStudioBase( wxWindow* parent, wxWindowID id, const wxString& t
 	wxBoxSizer* bSizer20;
 	bSizer20 = new wxBoxSizer( wxHORIZONTAL );
 	
-	bSizer20->SetMinSize( wxSize( 900,170 ) ); 
+	bSizer20->SetMinSize( wxSize( 900,155 ) ); 
 	wxBoxSizer* bSizer16;
 	bSizer16 = new wxBoxSizer( wxVERTICAL );
 	
@@ -397,8 +393,6 @@ OBSStudioBase::OBSStudioBase( wxWindow* parent, wxWindowID id, const wxString& t
 	
 	m_toolBar1->AddSeparator(); 
 	
-	m_toolBar1->AddSeparator(); 
-	
 	m_toolBar1->AddTool( wxID_ANY, _("tool"), up_ico_to_wx_bitmap(), wxNullBitmap, wxITEM_NORMAL, wxEmptyString, wxEmptyString, NULL ); 
 	
 	m_toolBar1->AddTool( wxID_ANY, _("tool"), down_ico_to_wx_bitmap(), wxNullBitmap, wxITEM_NORMAL, wxEmptyString, wxEmptyString, NULL ); 
@@ -439,10 +433,6 @@ OBSStudioBase::OBSStudioBase( wxWindow* parent, wxWindowID id, const wxString& t
 	
 	m_toolBar11->AddTool( wxID_ANY, _("tool"), htmledit_icon22_properties_gif_to_wx_bitmap(), wxNullBitmap, wxITEM_NORMAL, wxEmptyString, wxEmptyString, NULL ); 
 	
-	m_toolBar11->AddSeparator(); 
-	
-	m_toolBar11->AddSeparator(); 
-	
 	m_toolBar11->Realize(); 
 	
 	bSizer37->Add( m_toolBar11, 0, wxEXPAND, 5 );
@@ -482,8 +472,6 @@ OBSStudioBase::OBSStudioBase( wxWindow* parent, wxWindowID id, const wxString& t
 	
 	m_toolBar12->AddSeparator(); 
 	
-	m_toolBar12->AddSeparator(); 
-	
 	m_toolBar12->AddTool( wxID_ANY, _("tool"), up_ico_to_wx_bitmap(), wxNullBitmap, wxITEM_NORMAL, wxEmptyString, wxEmptyString, NULL ); 
 	
 	m_toolBar12->AddTool( wxID_ANY, _("tool"), down_ico_to_wx_bitmap(), wxNullBitmap, wxITEM_NORMAL, wxEmptyString, wxEmptyString, NULL ); 
@@ -508,14 +496,14 @@ OBSStudioBase::OBSStudioBase( wxWindow* parent, wxWindowID id, const wxString& t
 	m_staticText4->Wrap( -1 );
 	bSizer19->Add( m_staticText4, 0, wxALL, 3 );
 	
-	m_panel15 = new wxPanel( mainPanel, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxSIMPLE_BORDER );
+	m_panel15 = new wxPanel( mainPanel, wxID_ANY, wxDefaultPosition, wxSize( -1,-1 ), wxSIMPLE_BORDER );
 	wxBoxSizer* bSizer40;
 	bSizer40 = new wxBoxSizer( wxVERTICAL );
 	
-	m_listCtrl1 = new wxListCtrl( m_panel15, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLC_REPORT|wxLC_SINGLE_SEL|wxNO_BORDER );
+	m_listCtrl1 = new ListCtrlFixed( m_panel15, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLC_REPORT|wxLC_SINGLE_SEL|wxNO_BORDER );
 	m_listCtrl1->SetMinSize( wxSize( 400,-1 ) );
 	
-	bSizer40->Add( m_listCtrl1, 1, wxEXPAND|wxTOP|wxBOTTOM|wxLEFT, 0 );
+	bSizer40->Add( m_listCtrl1, 1, 0, 0 );
 	
 	m_toolBar13 = new wxToolBar( m_panel15, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTB_HORIZONTAL|wxNO_BORDER ); 
 	m_toolBar13->SetBackgroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_BTNFACE ) );
@@ -524,10 +512,6 @@ OBSStudioBase::OBSStudioBase( wxWindow* parent, wxWindowID id, const wxString& t
 	
 	m_toolBar13->AddTool( wxID_ANY, _("tool"), delete_ico_to_wx_bitmap(), wxNullBitmap, wxITEM_NORMAL, wxEmptyString, wxEmptyString, NULL ); 
 	
-	m_toolBar13->AddSeparator(); 
-	
-	m_toolBar13->AddSeparator(); 
-	
 	m_toolBar13->Realize(); 
 	
 	bSizer40->Add( m_toolBar13, 0, wxEXPAND, 5 );

+ 59 - 81
obs/OBSWindows.fbp

@@ -20,8 +20,10 @@
         <property name="path">.</property>
         <property name="precompiled_header"></property>
         <property name="relative_path">1</property>
+        <property name="skip_lua_events">1</property>
         <property name="skip_php_events">1</property>
         <property name="skip_python_events">1</property>
+        <property name="ui_table">UI</property>
         <property name="use_enum">0</property>
         <property name="use_microsoft_bom">0</property>
         <object class="Frame" expanded="1">
@@ -35,16 +37,16 @@
             <property name="event_handler">impl_virtual</property>
             <property name="extra_style"></property>
             <property name="fg"></property>
-            <property name="font">Tahoma,90,90,8,70,0</property>
+            <property name="font"></property>
             <property name="hidden">0</property>
             <property name="id">wxID_ANY</property>
             <property name="maximum_size"></property>
             <property name="minimum_size"></property>
             <property name="name">OBSBasicBase</property>
             <property name="pos"></property>
-            <property name="size">854,614</property>
+            <property name="size">923,677</property>
             <property name="style">wxDEFAULT_FRAME_STYLE</property>
-            <property name="subclass"></property>
+            <property name="subclass">WindowSubclass; window-subclass.hpp</property>
             <property name="title">.mainwindow</property>
             <property name="tooltip"></property>
             <property name="window_extra_style"></property>
@@ -201,16 +203,16 @@
                     </object>
                 </object>
             </object>
-            <object class="wxBoxSizer" expanded="0">
+            <object class="wxBoxSizer" expanded="1">
                 <property name="minimum_size"></property>
                 <property name="name">mainContainer</property>
                 <property name="orient">wxVERTICAL</property>
                 <property name="permission">none</property>
-                <object class="sizeritem" expanded="0">
+                <object class="sizeritem" expanded="1">
                     <property name="border">0</property>
                     <property name="flag">wxEXPAND | wxALL</property>
                     <property name="proportion">1</property>
-                    <object class="wxPanel" expanded="0">
+                    <object class="wxPanel" expanded="1">
                         <property name="BottomDockable">1</property>
                         <property name="LeftDockable">1</property>
                         <property name="RightDockable">1</property>
@@ -284,7 +286,7 @@
                         <event name="OnSetFocus"></event>
                         <event name="OnSize"></event>
                         <event name="OnUpdateUI"></event>
-                        <object class="wxBoxSizer" expanded="0">
+                        <object class="wxBoxSizer" expanded="1">
                             <property name="minimum_size"></property>
                             <property name="name">panelContainer</property>
                             <property name="orient">wxVERTICAL</property>
@@ -402,20 +404,20 @@
                                     </object>
                                 </object>
                             </object>
-                            <object class="sizeritem" expanded="0">
+                            <object class="sizeritem" expanded="1">
                                 <property name="border">5</property>
                                 <property name="flag">wxEXPAND</property>
                                 <property name="proportion">0</property>
-                                <object class="wxBoxSizer" expanded="0">
+                                <object class="wxBoxSizer" expanded="1">
                                     <property name="minimum_size">-1,155</property>
                                     <property name="name">bottomContainer</property>
                                     <property name="orient">wxVERTICAL</property>
                                     <property name="permission">none</property>
-                                    <object class="sizeritem" expanded="0">
+                                    <object class="sizeritem" expanded="1">
                                         <property name="border">5</property>
                                         <property name="flag">wxALIGN_CENTER|wxEXPAND</property>
                                         <property name="proportion">1</property>
-                                        <object class="wxBoxSizer" expanded="0">
+                                        <object class="wxBoxSizer" expanded="1">
                                             <property name="minimum_size"></property>
                                             <property name="name">bSizer36</property>
                                             <property name="orient">wxVERTICAL</property>
@@ -841,9 +843,6 @@
                                                                                 <object class="toolSeparator" expanded="0">
                                                                                     <property name="permission">protected</property>
                                                                                 </object>
-                                                                                <object class="toolSeparator" expanded="0">
-                                                                                    <property name="permission">protected</property>
-                                                                                </object>
                                                                                 <object class="tool" expanded="0">
                                                                                     <property name="bitmap">Load From Embedded File; D:\OBS2\obs\images\up.ico</property>
                                                                                     <property name="context_menu">0</property>
@@ -1306,9 +1305,6 @@
                                                                                 <object class="toolSeparator" expanded="0">
                                                                                     <property name="permission">protected</property>
                                                                                 </object>
-                                                                                <object class="toolSeparator" expanded="0">
-                                                                                    <property name="permission">protected</property>
-                                                                                </object>
                                                                                 <object class="tool" expanded="0">
                                                                                     <property name="bitmap">Load From Embedded File; D:\OBS2\obs\images\up.ico</property>
                                                                                     <property name="context_menu">0</property>
@@ -2141,7 +2137,7 @@
                 <event name="OnUpdateUI"></event>
             </object>
         </object>
-        <object class="Frame" expanded="0">
+        <object class="Frame" expanded="1">
             <property name="aui_managed">0</property>
             <property name="aui_manager_style">wxAUI_MGR_DEFAULT</property>
             <property name="bg"></property>
@@ -2152,7 +2148,7 @@
             <property name="event_handler">impl_virtual</property>
             <property name="extra_style"></property>
             <property name="fg"></property>
-            <property name="font">Tahoma,90,90,8,70,0</property>
+            <property name="font"></property>
             <property name="hidden">0</property>
             <property name="id">wxID_ANY</property>
             <property name="maximum_size"></property>
@@ -2161,7 +2157,7 @@
             <property name="pos"></property>
             <property name="size">1240,825</property>
             <property name="style">wxDEFAULT_FRAME_STYLE</property>
-            <property name="subclass"></property>
+            <property name="subclass">WindowSubclass; window-subclass.hpp</property>
             <property name="title">.openBroadcastStudio</property>
             <property name="tooltip"></property>
             <property name="window_extra_style"></property>
@@ -2203,16 +2199,16 @@
             <event name="OnSetFocus"></event>
             <event name="OnSize"></event>
             <event name="OnUpdateUI"></event>
-            <object class="wxBoxSizer" expanded="0">
+            <object class="wxBoxSizer" expanded="1">
                 <property name="minimum_size"></property>
                 <property name="name">clientSIzer</property>
                 <property name="orient">wxVERTICAL</property>
                 <property name="permission">none</property>
-                <object class="sizeritem" expanded="0">
+                <object class="sizeritem" expanded="1">
                     <property name="border">0</property>
                     <property name="flag">wxEXPAND</property>
                     <property name="proportion">1</property>
-                    <object class="wxPanel" expanded="0">
+                    <object class="wxPanel" expanded="1">
                         <property name="BottomDockable">1</property>
                         <property name="LeftDockable">1</property>
                         <property name="RightDockable">1</property>
@@ -2286,7 +2282,7 @@
                         <event name="OnSetFocus"></event>
                         <event name="OnSize"></event>
                         <event name="OnUpdateUI"></event>
-                        <object class="wxBoxSizer" expanded="0">
+                        <object class="wxBoxSizer" expanded="1">
                             <property name="minimum_size"></property>
                             <property name="name">mainSizer</property>
                             <property name="orient">wxVERTICAL</property>
@@ -2815,29 +2811,29 @@
                                     </object>
                                 </object>
                             </object>
-                            <object class="sizeritem" expanded="0">
+                            <object class="sizeritem" expanded="1">
                                 <property name="border">5</property>
                                 <property name="flag">wxEXPAND</property>
                                 <property name="proportion">0</property>
-                                <object class="wxBoxSizer" expanded="0">
+                                <object class="wxBoxSizer" expanded="1">
                                     <property name="minimum_size"></property>
                                     <property name="name">bottomSizer</property>
                                     <property name="orient">wxVERTICAL</property>
                                     <property name="permission">none</property>
-                                    <object class="sizeritem" expanded="0">
+                                    <object class="sizeritem" expanded="1">
                                         <property name="border">5</property>
                                         <property name="flag">wxALIGN_CENTER</property>
                                         <property name="proportion">0</property>
-                                        <object class="wxBoxSizer" expanded="0">
-                                            <property name="minimum_size">900,170</property>
+                                        <object class="wxBoxSizer" expanded="1">
+                                            <property name="minimum_size">900,155</property>
                                             <property name="name">bSizer20</property>
                                             <property name="orient">wxHORIZONTAL</property>
                                             <property name="permission">none</property>
-                                            <object class="sizeritem" expanded="0">
+                                            <object class="sizeritem" expanded="1">
                                                 <property name="border">5</property>
                                                 <property name="flag">wxEXPAND</property>
                                                 <property name="proportion">1</property>
-                                                <object class="wxBoxSizer" expanded="0">
+                                                <object class="wxBoxSizer" expanded="1">
                                                     <property name="minimum_size"></property>
                                                     <property name="name">bSizer16</property>
                                                     <property name="orient">wxVERTICAL</property>
@@ -2925,11 +2921,11 @@
                                                             <event name="OnUpdateUI"></event>
                                                         </object>
                                                     </object>
-                                                    <object class="sizeritem" expanded="0">
+                                                    <object class="sizeritem" expanded="1">
                                                         <property name="border">2</property>
                                                         <property name="flag">wxEXPAND | wxALL</property>
                                                         <property name="proportion">1</property>
-                                                        <object class="wxPanel" expanded="0">
+                                                        <object class="wxPanel" expanded="1">
                                                             <property name="BottomDockable">1</property>
                                                             <property name="LeftDockable">1</property>
                                                             <property name="RightDockable">1</property>
@@ -3003,7 +2999,7 @@
                                                             <event name="OnSetFocus"></event>
                                                             <event name="OnSize"></event>
                                                             <event name="OnUpdateUI"></event>
-                                                            <object class="wxBoxSizer" expanded="0">
+                                                            <object class="wxBoxSizer" expanded="1">
                                                                 <property name="minimum_size"></property>
                                                                 <property name="name">bSizer38</property>
                                                                 <property name="orient">wxVERTICAL</property>
@@ -3096,11 +3092,11 @@
                                                                         <event name="OnUpdateUI"></event>
                                                                     </object>
                                                                 </object>
-                                                                <object class="sizeritem" expanded="0">
+                                                                <object class="sizeritem" expanded="1">
                                                                     <property name="border">0</property>
                                                                     <property name="flag">wxEXPAND</property>
                                                                     <property name="proportion">0</property>
-                                                                    <object class="wxToolBar" expanded="0">
+                                                                    <object class="wxToolBar" expanded="1">
                                                                         <property name="BottomDockable">1</property>
                                                                         <property name="LeftDockable">1</property>
                                                                         <property name="RightDockable">1</property>
@@ -3224,9 +3220,6 @@
                                                                         <object class="toolSeparator" expanded="0">
                                                                             <property name="permission">protected</property>
                                                                         </object>
-                                                                        <object class="toolSeparator" expanded="0">
-                                                                            <property name="permission">protected</property>
-                                                                        </object>
                                                                         <object class="tool" expanded="0">
                                                                             <property name="bitmap">Load From Embedded File; D:\OBS2\obs\images\up.ico</property>
                                                                             <property name="context_menu">0</property>
@@ -3276,11 +3269,11 @@
                                                     </object>
                                                 </object>
                                             </object>
-                                            <object class="sizeritem" expanded="0">
+                                            <object class="sizeritem" expanded="1">
                                                 <property name="border">5</property>
                                                 <property name="flag">wxEXPAND</property>
                                                 <property name="proportion">1</property>
-                                                <object class="wxBoxSizer" expanded="0">
+                                                <object class="wxBoxSizer" expanded="1">
                                                     <property name="minimum_size"></property>
                                                     <property name="name">bSizer17</property>
                                                     <property name="orient">wxVERTICAL</property>
@@ -3368,11 +3361,11 @@
                                                             <event name="OnUpdateUI"></event>
                                                         </object>
                                                     </object>
-                                                    <object class="sizeritem" expanded="0">
+                                                    <object class="sizeritem" expanded="1">
                                                         <property name="border">2</property>
                                                         <property name="flag">wxEXPAND | wxALL</property>
                                                         <property name="proportion">1</property>
-                                                        <object class="wxPanel" expanded="0">
+                                                        <object class="wxPanel" expanded="1">
                                                             <property name="BottomDockable">1</property>
                                                             <property name="LeftDockable">1</property>
                                                             <property name="RightDockable">1</property>
@@ -3446,7 +3439,7 @@
                                                             <event name="OnSetFocus"></event>
                                                             <event name="OnSize"></event>
                                                             <event name="OnUpdateUI"></event>
-                                                            <object class="wxBoxSizer" expanded="0">
+                                                            <object class="wxBoxSizer" expanded="1">
                                                                 <property name="minimum_size"></property>
                                                                 <property name="name">bSizer37</property>
                                                                 <property name="orient">wxVERTICAL</property>
@@ -3539,11 +3532,11 @@
                                                                         <event name="OnUpdateUI"></event>
                                                                     </object>
                                                                 </object>
-                                                                <object class="sizeritem" expanded="0">
+                                                                <object class="sizeritem" expanded="1">
                                                                     <property name="border">5</property>
                                                                     <property name="flag">wxEXPAND</property>
                                                                     <property name="proportion">0</property>
-                                                                    <object class="wxToolBar" expanded="0">
+                                                                    <object class="wxToolBar" expanded="1">
                                                                         <property name="BottomDockable">1</property>
                                                                         <property name="LeftDockable">1</property>
                                                                         <property name="RightDockable">1</property>
@@ -3685,12 +3678,6 @@
                                                                             <event name="OnToolRClicked"></event>
                                                                             <event name="OnUpdateUI"></event>
                                                                         </object>
-                                                                        <object class="toolSeparator" expanded="0">
-                                                                            <property name="permission">protected</property>
-                                                                        </object>
-                                                                        <object class="toolSeparator" expanded="0">
-                                                                            <property name="permission">protected</property>
-                                                                        </object>
                                                                     </object>
                                                                 </object>
                                                             </object>
@@ -3698,11 +3685,11 @@
                                                     </object>
                                                 </object>
                                             </object>
-                                            <object class="sizeritem" expanded="0">
+                                            <object class="sizeritem" expanded="1">
                                                 <property name="border">5</property>
                                                 <property name="flag">wxEXPAND</property>
                                                 <property name="proportion">1</property>
-                                                <object class="wxBoxSizer" expanded="0">
+                                                <object class="wxBoxSizer" expanded="1">
                                                     <property name="minimum_size"></property>
                                                     <property name="name">bSizer18</property>
                                                     <property name="orient">wxVERTICAL</property>
@@ -3790,11 +3777,11 @@
                                                             <event name="OnUpdateUI"></event>
                                                         </object>
                                                     </object>
-                                                    <object class="sizeritem" expanded="0">
+                                                    <object class="sizeritem" expanded="1">
                                                         <property name="border">2</property>
                                                         <property name="flag">wxEXPAND | wxALL</property>
                                                         <property name="proportion">1</property>
-                                                        <object class="wxPanel" expanded="0">
+                                                        <object class="wxPanel" expanded="1">
                                                             <property name="BottomDockable">1</property>
                                                             <property name="LeftDockable">1</property>
                                                             <property name="RightDockable">1</property>
@@ -3868,7 +3855,7 @@
                                                             <event name="OnSetFocus"></event>
                                                             <event name="OnSize"></event>
                                                             <event name="OnUpdateUI"></event>
-                                                            <object class="wxBoxSizer" expanded="0">
+                                                            <object class="wxBoxSizer" expanded="1">
                                                                 <property name="minimum_size"></property>
                                                                 <property name="name">bSizer39</property>
                                                                 <property name="orient">wxVERTICAL</property>
@@ -3962,11 +3949,11 @@
                                                                         <event name="OnUpdateUI"></event>
                                                                     </object>
                                                                 </object>
-                                                                <object class="sizeritem" expanded="0">
+                                                                <object class="sizeritem" expanded="1">
                                                                     <property name="border">5</property>
                                                                     <property name="flag">wxEXPAND</property>
                                                                     <property name="proportion">0</property>
-                                                                    <object class="wxToolBar" expanded="0">
+                                                                    <object class="wxToolBar" expanded="1">
                                                                         <property name="BottomDockable">1</property>
                                                                         <property name="LeftDockable">1</property>
                                                                         <property name="RightDockable">1</property>
@@ -4111,9 +4098,6 @@
                                                                         <object class="toolSeparator" expanded="0">
                                                                             <property name="permission">protected</property>
                                                                         </object>
-                                                                        <object class="toolSeparator" expanded="0">
-                                                                            <property name="permission">protected</property>
-                                                                        </object>
                                                                         <object class="tool" expanded="0">
                                                                             <property name="bitmap">Load From Embedded File; D:\OBS2\obs\images\up.ico</property>
                                                                             <property name="context_menu">0</property>
@@ -4163,11 +4147,11 @@
                                                     </object>
                                                 </object>
                                             </object>
-                                            <object class="sizeritem" expanded="0">
+                                            <object class="sizeritem" expanded="1">
                                                 <property name="border">5</property>
                                                 <property name="flag">wxEXPAND</property>
                                                 <property name="proportion">0</property>
-                                                <object class="wxBoxSizer" expanded="0">
+                                                <object class="wxBoxSizer" expanded="1">
                                                     <property name="minimum_size"></property>
                                                     <property name="name">bSizer19</property>
                                                     <property name="orient">wxVERTICAL</property>
@@ -4255,11 +4239,11 @@
                                                             <event name="OnUpdateUI"></event>
                                                         </object>
                                                     </object>
-                                                    <object class="sizeritem" expanded="0">
+                                                    <object class="sizeritem" expanded="1">
                                                         <property name="border">2</property>
                                                         <property name="flag">wxEXPAND | wxALL</property>
                                                         <property name="proportion">1</property>
-                                                        <object class="wxPanel" expanded="0">
+                                                        <object class="wxPanel" expanded="1">
                                                             <property name="BottomDockable">1</property>
                                                             <property name="LeftDockable">1</property>
                                                             <property name="RightDockable">1</property>
@@ -4289,10 +4273,10 @@
                                                             <property name="id">wxID_ANY</property>
                                                             <property name="max_size"></property>
                                                             <property name="maximize_button">0</property>
-                                                            <property name="maximum_size"></property>
+                                                            <property name="maximum_size">-1,-1</property>
                                                             <property name="min_size"></property>
                                                             <property name="minimize_button">0</property>
-                                                            <property name="minimum_size"></property>
+                                                            <property name="minimum_size">-1,-1</property>
                                                             <property name="moveable">1</property>
                                                             <property name="name">m_panel15</property>
                                                             <property name="pane_border">1</property>
@@ -4303,7 +4287,7 @@
                                                             <property name="pos"></property>
                                                             <property name="resize">Resizable</property>
                                                             <property name="show">1</property>
-                                                            <property name="size"></property>
+                                                            <property name="size">-1,-1</property>
                                                             <property name="subclass"></property>
                                                             <property name="toolbar_pane">0</property>
                                                             <property name="tooltip"></property>
@@ -4333,14 +4317,14 @@
                                                             <event name="OnSetFocus"></event>
                                                             <event name="OnSize"></event>
                                                             <event name="OnUpdateUI"></event>
-                                                            <object class="wxBoxSizer" expanded="0">
+                                                            <object class="wxBoxSizer" expanded="1">
                                                                 <property name="minimum_size"></property>
                                                                 <property name="name">bSizer40</property>
                                                                 <property name="orient">wxVERTICAL</property>
                                                                 <property name="permission">none</property>
                                                                 <object class="sizeritem" expanded="0">
                                                                     <property name="border">0</property>
-                                                                    <property name="flag">wxEXPAND|wxTOP|wxBOTTOM|wxLEFT</property>
+                                                                    <property name="flag"></property>
                                                                     <property name="proportion">1</property>
                                                                     <object class="wxListCtrl" expanded="0">
                                                                         <property name="BottomDockable">1</property>
@@ -4372,7 +4356,7 @@
                                                                         <property name="id">wxID_ANY</property>
                                                                         <property name="max_size"></property>
                                                                         <property name="maximize_button">0</property>
-                                                                        <property name="maximum_size"></property>
+                                                                        <property name="maximum_size">-1,-1</property>
                                                                         <property name="min_size"></property>
                                                                         <property name="minimize_button">0</property>
                                                                         <property name="minimum_size">400,-1</property>
@@ -4388,7 +4372,7 @@
                                                                         <property name="show">1</property>
                                                                         <property name="size"></property>
                                                                         <property name="style">wxLC_REPORT|wxLC_SINGLE_SEL</property>
-                                                                        <property name="subclass"></property>
+                                                                        <property name="subclass">ListCtrlFixed; window-subclass.hpp</property>
                                                                         <property name="toolbar_pane">0</property>
                                                                         <property name="tooltip"></property>
                                                                         <property name="validator_data_type"></property>
@@ -4443,11 +4427,11 @@
                                                                         <event name="OnUpdateUI"></event>
                                                                     </object>
                                                                 </object>
-                                                                <object class="sizeritem" expanded="0">
+                                                                <object class="sizeritem" expanded="1">
                                                                     <property name="border">5</property>
                                                                     <property name="flag">wxEXPAND</property>
                                                                     <property name="proportion">0</property>
-                                                                    <object class="wxToolBar" expanded="0">
+                                                                    <object class="wxToolBar" expanded="1">
                                                                         <property name="BottomDockable">1</property>
                                                                         <property name="LeftDockable">1</property>
                                                                         <property name="RightDockable">1</property>
@@ -4568,12 +4552,6 @@
                                                                             <event name="OnToolRClicked"></event>
                                                                             <event name="OnUpdateUI"></event>
                                                                         </object>
-                                                                        <object class="toolSeparator" expanded="0">
-                                                                            <property name="permission">protected</property>
-                                                                        </object>
-                                                                        <object class="toolSeparator" expanded="0">
-                                                                            <property name="permission">protected</property>
-                                                                        </object>
                                                                     </object>
                                                                 </object>
                                                             </object>

+ 9 - 5
obs/OBSWindows.h

@@ -1,5 +1,5 @@
 ///////////////////////////////////////////////////////////////////////////
-// C++ code generated with wxFormBuilder (version Oct  8 2012)
+// C++ code generated with wxFormBuilder (version Nov  6 2013)
 // http://www.wxformbuilder.org/
 //
 // PLEASE DO "NOT" EDIT THIS FILE!
@@ -11,6 +11,10 @@
 #include <wx/artprov.h>
 #include <wx/xrc/xmlres.h>
 #include <wx/intl.h>
+class ListCtrlFixed;
+class WindowSubclass;
+
+#include "window-subclass.hpp"
 #include <wx/string.h>
 #include <wx/bitmap.h>
 #include <wx/image.h>
@@ -63,7 +67,7 @@
 ///////////////////////////////////////////////////////////////////////////////
 /// Class OBSBasicBase
 ///////////////////////////////////////////////////////////////////////////////
-class OBSBasicBase : public wxFrame 
+class OBSBasicBase : public WindowSubclass
 {
 	private:
 	
@@ -111,7 +115,7 @@ class OBSBasicBase : public wxFrame
 	
 	public:
 		
-		OBSBasicBase( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _(".mainwindow"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( 854,614 ), long style = wxDEFAULT_FRAME_STYLE|wxTAB_TRAVERSAL );
+		OBSBasicBase( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _(".mainwindow"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( 923,677 ), long style = wxDEFAULT_FRAME_STYLE|wxTAB_TRAVERSAL );
 		
 		~OBSBasicBase();
 	
@@ -120,7 +124,7 @@ class OBSBasicBase : public wxFrame
 ///////////////////////////////////////////////////////////////////////////////
 /// Class OBSStudioBase
 ///////////////////////////////////////////////////////////////////////////////
-class OBSStudioBase : public wxFrame 
+class OBSStudioBase : public WindowSubclass
 {
 	private:
 	
@@ -146,7 +150,7 @@ class OBSStudioBase : public wxFrame
 		wxToolBar* m_toolBar12;
 		wxStaticText* m_staticText4;
 		wxPanel* m_panel15;
-		wxListCtrl* m_listCtrl1;
+		ListCtrlFixed* m_listCtrl1;
 		wxToolBar* m_toolBar13;
 		wxMenuBar* m_menubar1;
 		wxMenu* m_menu1;

+ 1 - 0
obs/makefile.am

@@ -11,5 +11,6 @@ endif
 obs_PROGRAMS = obs
 # obs_LDADD = $(top_srcdir)/libobs/libobs.la
 obs_SOURCES = window-obs-basic.cpp \
+	      window-subclass.cpp \
 	      obs.cpp \
 	      OBSWindows.cpp

+ 1 - 1
obs/obs.cpp

@@ -27,7 +27,7 @@ bool OBSApp::OnInit()
 
 	wxInitAllImageHandlers();
 
-	OBSBasic *mainWindow = new OBSBasic();
+	OBSStudioBase *mainWindow = new OBSStudioBase(NULL);
 	mainWindow->Show();
 	return true;
 }

+ 1 - 4
obs/window-obs-basic.cpp

@@ -7,10 +7,7 @@
     (at your option) any later version.
 
     This program is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY
-{
-}
- without even the implied warranty of
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     GNU General Public License for more details.
 

+ 2 - 0
vs/2010/OBS/OBS.vcxproj

@@ -170,11 +170,13 @@
     <ClCompile Include="..\..\..\obs\obs.cpp" />
     <ClCompile Include="..\..\..\obs\OBSWindows.cpp" />
     <ClCompile Include="..\..\..\obs\window-obs-basic.cpp" />
+    <ClCompile Include="..\..\..\obs\window-subclass.cpp" />
   </ItemGroup>
   <ItemGroup>
     <ClInclude Include="..\..\..\obs\obs.hpp" />
     <ClInclude Include="..\..\..\obs\OBSWindows.h" />
     <ClInclude Include="..\..\..\obs\window-obs-basic.hpp" />
+    <ClInclude Include="..\..\..\obs\window-subclass.hpp" />
   </ItemGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
   <ImportGroup Label="ExtensionTargets">

+ 6 - 0
vs/2010/OBS/OBS.vcxproj.filters

@@ -24,6 +24,9 @@
     <ClCompile Include="..\..\..\obs\window-obs-basic.cpp">
       <Filter>Source Files</Filter>
     </ClCompile>
+    <ClCompile Include="..\..\..\obs\window-subclass.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
   </ItemGroup>
   <ItemGroup>
     <ClInclude Include="..\..\..\obs\obs.hpp">
@@ -35,5 +38,8 @@
     <ClInclude Include="..\..\..\obs\window-obs-basic.hpp">
       <Filter>Header Files</Filter>
     </ClInclude>
+    <ClInclude Include="..\..\..\obs\window-subclass.hpp">
+      <Filter>Header Files</Filter>
+    </ClInclude>
   </ItemGroup>
 </Project>