[Opalvoip-svn] SF.net SVN: opalvoip:[29608] opal/trunk
Brought to you by:
csoutheren,
rjongbloed
From: <rjo...@us...> - 2013-04-30 08:47:13
|
Revision: 29608 http://sourceforge.net/p/opalvoip/code/29608 Author: rjongbloed Date: 2013-04-30 08:47:08 +0000 (Tue, 30 Apr 2013) Log Message: ----------- Merged revision(s) 29605-29607 from opal/branches/v3_12: More presentation role token work, including adding test menu to OpenPhone. Modified Paths: -------------- opal/trunk/include/h323/h323con.h opal/trunk/include/opal/connection.h opal/trunk/include/opal/manager.h opal/trunk/samples/openphone/main.cxx opal/trunk/samples/openphone/main.h opal/trunk/samples/openphone/openphone.wxg opal/trunk/samples/openphone/openphone.xrc opal/trunk/src/h323/h323.cxx opal/trunk/src/opal/connection.cxx opal/trunk/src/opal/manager.cxx Property Changed: ---------------- opal/trunk/ Index: opal/trunk =================================================================== --- opal/trunk 2013-04-30 08:41:27 UTC (rev 29607) +++ opal/trunk 2013-04-30 08:47:08 UTC (rev 29608) Property changes on: opal/trunk ___________________________________________________________________ Modified: svn:mergeinfo ## -6,7 +6,7 ## /opal/branches/csoutheren/LalandeBranch1:23412-23413,23415,23424,23510,23516,23553,23577,23607,23669,23724,23742-23744,23747-23748,23755,23758,23780,23788,23848,23850,23856 /opal/branches/rjongbloed/BarnardPlus:20584,20656,20749,20751,20756,20762,20786,20789,20814,20820,20829,20831,20841,20843,20923,20927,20938,22016-22017,22518,22582,22941 /opal/branches/v3_10:25182-29485 -/opal/branches/v3_12:28489-29604 +/opal/branches/v3_12:28489-29607 /opal/branches/v3_2:21143,21220,21227,21253,21455 /opal/branches/v3_4:21060,21062,21088,21092,21111,21113,21115,21119,21143,21148,21151-21152,21155,21158,21184,21188,21253,21265-21266,21283-21284,21298,21300,21303,21307,21309,21311,21327,21331,21333,21359,21367,21369,21488,21556,21564-21565,21568,21570,21620,21625,21631,21748,21751,21756,21759,21761,21767,21770,22246,23044,23140,23143,23286 /opal/branches/v3_6:22169,22178,22184,22186,22197,22204,22216,22251,22253,22255,22258,22260,22291,22296,22300,22306,22308,22313,22319,22336,22353,22358,22436,22447,22449,22497,22511,22517,22519-22521,22527,22536,22538,22589,22596,22599,22617,22620,22622,22630,22640,22655,22675,22682,22726-22728,22730,22733,22738,22745-22746,22800,22820-22821,22842,22844-22845,22851,22853,22889,22896,22902,22904,22906,22918,22924,22928,22946,22965,22967,22976,22978,22980,22982,22994,23028,23123,23125-23126,23128,23157,23165,23173,23175,23183,23294,23341,23465,23467,23474,23521,23829,24346,24809 \ No newline at end of property Modified: opal/trunk/include/h323/h323con.h =================================================================== --- opal/trunk/include/h323/h323con.h 2013-04-30 08:41:27 UTC (rev 29607) +++ opal/trunk/include/h323/h323con.h 2013-04-30 08:47:08 UTC (rev 29608) @@ -352,6 +352,12 @@ virtual bool RequestPresentationRole( bool release ///< Indicate we are acquiring or releasing the token ); + + /**Indicate current presentation token ownership. + + Default behaviour returns m_h239TokenOwned. + */ + virtual bool HasPresentationRole() const; #endif // OPAL_H239 //@} Modified: opal/trunk/include/opal/connection.h =================================================================== --- opal/trunk/include/opal/connection.h 2013-04-30 08:41:27 UTC (rev 29607) +++ opal/trunk/include/opal/connection.h 2013-04-30 08:47:08 UTC (rev 29608) @@ -1580,6 +1580,12 @@ bool request ///< Indicates change is requested ); + /**Indicate current presentation token ownership. + + Default behaviour returns false. + */ + virtual bool HasPresentationRole() const; + /** Execute garbage collection for endpoint. Returns true if all garbage has been collected. Default behaviour deletes the objects in the connectionsActive list. Modified: opal/trunk/include/opal/manager.h =================================================================== --- opal/trunk/include/opal/manager.h 2013-04-30 08:41:27 UTC (rev 29607) +++ opal/trunk/include/opal/manager.h 2013-04-30 08:47:08 UTC (rev 29608) @@ -1331,6 +1331,19 @@ const PString & uri, ///< Internal URI of conference node that changed OpalConferenceState::ChangeType change ///< Change that occurred ); + + /**Indicate presentation token change. + The \p request parameter indicates if this is an "after the fact" + indication has changed, or if the connection may reject the change and + retain the token it already has. + + Default behaviour returns true. + */ + virtual bool OnChangedPresentationRole( + OpalConnection & connection, ///< COnnection that has had the change + const PString & newChairURI, ///< URI for new confernce chair + bool request ///< Indicates change is requested + ); //@} Modified: opal/trunk/samples/openphone/main.cxx =================================================================== --- opal/trunk/samples/openphone/main.cxx 2013-04-30 08:41:27 UTC (rev 29607) +++ opal/trunk/samples/openphone/main.cxx 2013-04-30 08:47:08 UTC (rev 29608) @@ -393,6 +393,7 @@ DEF_XRCID(MenuSendIntra); DEF_XRCID(MenuTxVideoControl); DEF_XRCID(MenuRxVideoControl); +DEF_XRCID(MenuPresentationRole); DEF_XRCID(MenuDefVidWinPos); DEF_XRCID(MenuPresence); #if OPAL_HAS_IM @@ -654,6 +655,7 @@ EVT_MENU(ID_MenuSendIntra, MyManager::OnSendIntra) EVT_MENU(ID_MenuTxVideoControl, MyManager::OnTxVideoControl) EVT_MENU(ID_MenuRxVideoControl, MyManager::OnRxVideoControl) + EVT_MENU(ID_MenuPresentationRole, MyManager::OnMenuPresentationRole) EVT_MENU(ID_MenuDefVidWinPos, MyManager::OnDefVidWinPos) EVT_MENU(ID_MenuPresence, MyManager::OnMyPresence) #if OPAL_HAS_IM @@ -1833,6 +1835,8 @@ menubar->Enable(ID_MenuSendIntra, hasRxVideo); menubar->Enable(ID_MenuTxVideoControl, hasTxVideo); menubar->Enable(ID_MenuRxVideoControl, hasRxVideo); + menubar->Enable(ID_MenuPresentationRole, connection != NULL); + menubar->Check(ID_MenuPresentationRole, connection != NULL && connection->HasPresentationRole()); menubar->Enable(ID_MenuDefVidWinPos, hasRxVideo || hasTxVideo); menubar->Enable(ID_SubMenuRetrieve, !m_callsOnHold.empty()); @@ -3202,6 +3206,31 @@ } +void MyManager::OnMenuPresentationRole(wxCommandEvent & /*event*/) +{ + PSafePtr<OpalConnection> conn = GetConnection(false, PSafeReadOnly); + if (conn != NULL && !conn->RequestPresentationRole(conn->HasPresentationRole())) + LogWindow << "Remote does not support presentation role request" << endl; +} + + +bool MyManager::OnChangedPresentationRole(OpalConnection & connection, + const PString & newChairURI, + bool request) +{ + LogWindow << "Presentation role token now owned by "; + if (newChairURI.IsEmpty()) + LogWindow << "nobody"; + else if (newChairURI == connection.GetLocalPartyURL()) + LogWindow << "local user"; + else + LogWindow << newChairURI; + LogWindow << endl; + + return OpalManager::OnChangedPresentationRole(connection, newChairURI, request); +} + + void MyManager::OnDefVidWinPos(wxCommandEvent & /*event*/) { PSafePtr<OpalConnection> connection = GetConnection(true, PSafeReadOnly); Modified: opal/trunk/samples/openphone/main.h =================================================================== --- opal/trunk/samples/openphone/main.h 2013-04-30 08:41:27 UTC (rev 29607) +++ opal/trunk/samples/openphone/main.h 2013-04-30 08:47:08 UTC (rev 29608) @@ -993,6 +993,11 @@ virtual void OnClosedMediaStream( const OpalMediaStream & stream ///< Stream being closed ); + virtual bool OnChangedPresentationRole( + OpalConnection & connection, ///< COnnection that has had the change + const PString & newChairURI, ///< URI for new confernce chair + bool request ///< Indicates change is requested + ); virtual void OnUserInputString( OpalConnection & connection, /// Connection input has come from const PString & value /// String value of indication @@ -1070,6 +1075,7 @@ void OnSendIntra(wxCommandEvent & /*event*/); void OnTxVideoControl(wxCommandEvent & /*event*/); void OnRxVideoControl(wxCommandEvent & /*event*/); + void OnMenuPresentationRole(wxCommandEvent & /*event*/); void OnDefVidWinPos(wxCommandEvent & /*event*/); void OnSashPositioned(wxSplitterEvent & /*event*/); void OnSpeedDialActivated(wxListEvent & /*event*/); Modified: opal/trunk/samples/openphone/openphone.wxg =================================================================== --- opal/trunk/samples/openphone/openphone.wxg 2013-04-30 08:41:27 UTC (rev 29607) +++ opal/trunk/samples/openphone/openphone.wxg 2013-04-30 08:47:08 UTC (rev 29608) @@ -1,5 +1,5 @@ <?xml version="1.0"?> -<!-- generated by wxGlade 0.6.3 on Mon Feb 18 12:03:38 2013 --> +<!-- generated by wxGlade 0.6.3 on Tue Apr 30 18:07:57 2013 --> <application path="openphone.xrc" name="OpenPhone" class="" option="0" language="XRC" top_window="CallDialog" encoding="ISO-8859-1" use_gettext="0" overwrite="0" use_new_namespace="1" for_version="2.8" is_template="0"> <object class="MyMenuBar" name="MenuBar" base="EditMenuBar"> @@ -229,6 +229,11 @@ <name>MenuRxVideoControl</name> </item> <item> + <label>Presentation Role</label> + <name>MenuPresentationRole</name> + <checkable>1</checkable> + </item> + <item> <label>Default Window Positions</label> <name>MenuDefVidWinPos</name> </item> Modified: opal/trunk/samples/openphone/openphone.xrc =================================================================== --- opal/trunk/samples/openphone/openphone.xrc 2013-04-30 08:41:27 UTC (rev 29607) +++ opal/trunk/samples/openphone/openphone.xrc 2013-04-30 08:47:08 UTC (rev 29608) @@ -1,482 +1,1745 @@ <?xml version="1.0" encoding="ISO-8859-1"?> -<!-- generated by wxGlade 0.6.3 on Fri Mar 29 11:31:50 2013 --> +<!-- generated by wxGlade 0.6.3 on Tue Apr 30 18:44:33 2013 --> <resource version="2.3.0.1"> - <object class="wxMenuBar" name="TrayMenu"> - <object class="wxMenu" name="TrayMenu"> - <label>TrayMenu</label> - <object class="wxMenuItem" name="MenuCall"> - <label>Dial ...</label> + <object class="wxMenuBar" name="SpeedDialMenu"> + <object class="wxMenu" name="SpeedDialMenu"> + <label>SpeedDialMenu</label> + <object class="wxMenuItem" name="CallSpeedDialAudio"> + <label>Call using Audio</label> </object> - <object class="wxMenuItem" name="MenuCallLastDialed"> - <label>Redial Last</label> + <object class="wxMenuItem" name="CallSpeedDialHandset"> + <label>Call using Handset</label> </object> - <object class="wxMenuItem" name="MenuCallLastReceived"> - <label>Dial Last Received</label> + <object class="wxMenuItem" name="SendIMSpeedDial"> + <label>I_M...</label> </object> - <object class="wxMenu" name="SubMenuSpeedDial"> - <label>Speed Dial</label> - <object class="separator"/> + <object class="wxMenuItem" name="SendFaxSpeedDial"> + <label>Send _FAX ...</label> </object> - <object class="wxMenuItem" name="MenuAnswer"> - <label>Answer</label> - </object> <object class="separator"/> - <object class="wxMenu" name="SubMenuCall"> - <label>Call</label> - <object class="wxMenuItem" name="MenuHangUp"> - <label>Hang Up</label> - </object> - <object class="separator"/> - <object class="wxMenuItem" name="MenuHold"> - <label>Hold</label> - </object> - <object class="wxMenu" name="SubMenuRetrieve"> - <label>Retrieve</label> - <object class="separator"/> - </object> - <object class="separator"/> - <object class="wxMenu" name="SubMenuTransfer"> - <label>Transfer</label> - <object class="wxMenuItem" name="MenuTransfer"> - <label>Other ...</label> - </object> - </object> - <object class="separator"/> - <object class="wxMenuItem" name="MenuStartRecording"> - <label>Start Recording ...</label> - </object> - <object class="wxMenuItem" name="MenuStopRecording"> - <label>Stop Recording</label> - </object> + <object class="wxMenuItem" name="MenuCut"> + <label>Cu_t</label> </object> + <object class="wxMenuItem" name="MenuCopy"> + <label>_Copy</label> + </object> + <object class="wxMenuItem" name="MenuPaste"> + <label>_Paste</label> + </object> + <object class="wxMenuItem" name="MenuDelete"> + <label>_Delete</label> + </object> <object class="separator"/> - <object class="wxMenuItem" name="wxID_EXIT"> - <label>Exit Open Phone</label> + <object class="wxMenuItem" name="EditSpeedDial"> + <label>_Edit ...</label> </object> </object> </object> - <object class="wxDialog" name="SpeedDialDialog" subclass="SpeedDialDialog"> - <style>wxCAPTION|wxSYSTEM_MENU</style> - <title>Speed Dial</title> + <object class="wxDialog" name="PresenceDialog"> + <style>wxDEFAULT_DIALOG_STYLE</style> + <title>Change My Presence Status</title> <object class="wxBoxSizer"> <orient>wxVERTICAL</orient> <object class="sizeritem"> - <flag>wxEXPAND</flag> - <object class="wxFlexGridSizer"> - <hgap>2</hgap> - <rows>5</rows> - <cols>2</cols> - <vgap>8</vgap> + <flag>wxALL|wxEXPAND</flag> + <border>8</border> + <object class="wxChoice" name="PresenceAddress"> + <selection>0</selection> + <content> + </content> + </object> + </object> + <object class="sizeritem"> + <flag>wxALL|wxEXPAND</flag> + <border>8</border> + <object class="wxComboBox" name="PresenceState"> + <selection>-1</selection> + <content> + <item>Back</item> + <item>Busy</item> + <item>Away</item> + <item>Invisible</item> + </content> + </object> + </object> + <object class="sizeritem"> + <flag>wxALIGN_CENTER_HORIZONTAL</flag> + <object class="wxBoxSizer"> + <orient>wxHORIZONTAL</orient> <object class="sizeritem"> - <flag>wxLEFT|wxTOP|wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL</flag> - <border>20</border> - <object class="wxStaticText" name="label_55"> - <style>wxALIGN_RIGHT</style> - <label>Name:</label> + <flag>wxALL</flag> + <border>16</border> + <object class="wxButton" name="wxID_OK"> + <label>OK</label> </object> </object> <object class="sizeritem"> - <flag>wxTOP|wxEXPAND|wxALIGN_CENTER_VERTICAL</flag> - <border>20</border> - <object class="wxBoxSizer"> - <orient>wxHORIZONTAL</orient> - <object class="sizeritem"> - <flag>wxALIGN_CENTER_VERTICAL</flag> - <border>20</border> - <object class="wxTextCtrl" name="SpeedDialName"> - <size>120, 12d</size> - </object> - </object> - <object class="sizeritem"> - <flag>wxLEFT|wxALIGN_CENTER_VERTICAL</flag> - <border>20</border> - <object class="wxStaticText" name="SpeedDialInUse"> - <label>Name already in use.</label> - </object> - </object> + <flag>wxALL</flag> + <border>16</border> + <object class="wxButton" name="wxID_CANCEL"> + <label>Cancel</label> </object> </object> - <object class="sizeritem"> - <flag>wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL</flag> - <object class="wxStaticText" name="label_56"> - <style>wxALIGN_RIGHT</style> - <label>Number:</label> - </object> + </object> + </object> + </object> + </object> + <object class="wxDialog" name="IMDialog" subclass="IMDialog"> + <style>wxCAPTION|wxRESIZE_BORDER|wxCLOSE_BOX|wxMAXIMIZE_BOX|wxMINIMIZE_BOX</style> + <size>350, 200d</size> + <title>IMDialog</title> + <object class="wxBoxSizer"> + <orient>wxVERTICAL</orient> + <object class="sizeritem"> + <option>1</option> + <flag>wxALL|wxEXPAND</flag> + <border>6</border> + <object class="wxTextCtrl" name="TextArea"> + <style>wxTE_MULTILINE|wxTE_READONLY|wxTE_RICH2</style> + </object> + </object> + <object class="sizeritem"> + <flag>wxEXPAND</flag> + <object class="wxBoxSizer"> + <orient>wxHORIZONTAL</orient> + <object class="spacer"> + <size>20, 20</size> </object> <object class="sizeritem"> - <option>1</option> - <flag>wxEXPAND</flag> - <object class="wxBoxSizer"> - <orient>wxHORIZONTAL</orient> - <object class="sizeritem"> - <flag>wxALIGN_CENTER_VERTICAL</flag> - <object class="wxTextCtrl" name="SpeedDialNumber"> - <size>48, 12d</size> - </object> - </object> - <object class="sizeritem"> - <option>1</option> - <flag>wxLEFT|wxALIGN_CENTER_VERTICAL</flag> - <border>20</border> - <object class="wxStaticText" name="SpeedDialAmbiguous"> - <label>This number cannot be dialled from a keypad.</label> - </object> - </object> + <flag>wxALL|wxALIGN_CENTER_VERTICAL</flag> + <border>10</border> + <object class="wxStaticText" name="CompositionIndication"> </object> </object> + </object> + </object> + <object class="sizeritem"> + <flag>wxEXPAND</flag> + <object class="wxBoxSizer"> + <orient>wxHORIZONTAL</orient> <object class="sizeritem"> - <flag>wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL</flag> - <object class="wxStaticText" name="label_57"> - <style>wxALIGN_RIGHT</style> - <label>Address:</label> + <flag>wxALL|wxALIGN_CENTER_VERTICAL</flag> + <border>10</border> + <object class="wxStaticText" name="label_92"> + <label>Enter text: </label> </object> </object> <object class="sizeritem"> - <flag>wxALIGN_CENTER_VERTICAL</flag> - <object class="wxTextCtrl" name="SpeedDialAddress"> - <size>120, 12d</size> + <option>1</option> + <flag>wxRIGHT|wxTOP|wxBOTTOM|wxALIGN_CENTER_VERTICAL</flag> + <border>4</border> + <object class="wxTextCtrl" name="EnteredText"> + <style>wxTE_PROCESS_ENTER|wxTE_LINEWRAP</style> </object> </object> <object class="sizeritem"> - <flag>wxLEFT|wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL</flag> - <border>20</border> - <object class="wxStaticText" name="label_58"> - <style>wxALIGN_RIGHT</style> - <label>Description:</label> + <flag>wxALL|wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL</flag> + <border>16</border> + <object class="wxButton" name="Send"> + <label>Send</label> </object> </object> - <object class="sizeritem"> - <flag>wxRIGHT|wxALIGN_CENTER_VERTICAL</flag> - <border>20</border> - <object class="wxTextCtrl" name="SpeedDialDescription"> - <size>240, 12d</size> - </object> - </object> - <object class="sizeritem"> - <flag>wxLEFT|wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL</flag> - <border>20</border> - <object class="wxStaticText" name="label_93"> - <style>wxALIGN_RIGHT</style> - <label>Presence identity:</label> - </object> - </object> - <object class="sizeritem"> - <object class="wxChoice" name="SpeedDialStateURL"> - <size>120, 12d</size> - <selection>0</selection> - <content> - </content> - </object> - </object> </object> </object> + </object> + </object> + <object class="wxDialog" name="CallDialog" subclass="CallDialog"> + <style>wxCAPTION|wxCLOSE_BOX</style> + <title>Call Remote</title> + <object class="wxBoxSizer"> + <orient>wxVERTICAL</orient> <object class="sizeritem"> + <option>1</option> <flag>wxEXPAND</flag> <object class="wxBoxSizer"> <orient>wxHORIZONTAL</orient> - <object class="spacer"> - <size>20, 20</size> - <option>3</option> - <flag>wxEXPAND</flag> - </object> <object class="sizeritem"> - <flag>wxTOP|wxBOTTOM</flag> - <border>25</border> - <object class="wxButton" name="wxID_OK"> - <default>1</default> - <label>OK</label> + <flag>wxLEFT|wxTOP|wxBOTTOM|wxALIGN_CENTER_VERTICAL</flag> + <border>20</border> + <object class="wxStaticText" name="AddressLabel"> + <label>Address:</label> </object> </object> - <object class="spacer"> - <size>20, 20</size> + <object class="sizeritem"> <option>1</option> - <flag>wxEXPAND</flag> - </object> - <object class="sizeritem"> - <flag>wxTOP|wxBOTTOM</flag> - <border>25</border> - <object class="wxButton" name="wxID_CANCEL"> - <label>Cancel</label> + <flag>wxRIGHT|wxTOP|wxBOTTOM|wxALIGN_CENTER_VERTICAL</flag> + <border>20</border> + <object class="wxComboBox" name="Address"> + <size>160, 12d</size> + <selection>-1</selection> + <content> + </content> </object> </object> - <object class="spacer"> - <size>20, 20</size> - <option>3</option> - <flag>wxEXPAND</flag> - </object> </object> </object> - </object> - </object> - <object class="wxDialog" name="AudioDevicesDialog"> - <style>wxDEFAULT_DIALOG_STYLE</style> - <title>Audio Devices for Call</title> - <object class="wxBoxSizer"> - <orient>wxVERTICAL</orient> <object class="sizeritem"> - <flag>wxALL|wxEXPAND</flag> - <border>8</border> - <object class="wxComboBox" name="PlayDevice"> - <selection>-1</selection> - <content> - </content> + <flag>wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL</flag> + <object class="wxCheckBox" name="UseHandset"> + <label>Use Handset</label> </object> </object> <object class="sizeritem"> - <flag>wxALL|wxEXPAND</flag> - <border>8</border> - <object class="wxComboBox" name="RecordDevice"> - <selection>-1</selection> + <flag>wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL</flag> + <object class="wxRadioBox" name="FaxMode"> <content> + <item>T.38</item> + <item>G.711</item> </content> + <style>wxRA_SPECIFY_ROWS</style> + <selection>0</selection> + <dimension>1</dimension> + <label>Fax Mode</label> </object> </object> <object class="sizeritem"> - <option>1</option> - <flag>wxEXPAND</flag> + <flag>wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL</flag> <object class="wxBoxSizer"> <orient>wxHORIZONTAL</orient> - <object class="spacer"> - <size>48, 48</size> - </object> <object class="sizeritem"> - <flag>wxALL</flag> + <flag>wxALL|wxALIGN_BOTTOM|wxALIGN_CENTER_HORIZONTAL</flag> <border>16</border> <object class="wxButton" name="wxID_OK"> + <default>1</default> <label>OK</label> </object> </object> <object class="sizeritem"> - <flag>wxALL</flag> + <flag>wxALL|wxALIGN_BOTTOM|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL</flag> <border>16</border> <object class="wxButton" name="wxID_CANCEL"> <label>Cancel</label> </object> </object> - <object class="spacer"> - <size>48, 48</size> - </object> </object> </object> </object> </object> - <object class="wxDialog" name="VideoControlDialog"> - <style>wxDEFAULT_DIALOG_STYLE</style> - <title>Video Control</title> + <object class="wxPanel" name="AnswerPanel" subclass="AnswerPanel"> + <style>wxTAB_TRAVERSAL</style> <object class="wxBoxSizer"> <orient>wxVERTICAL</orient> <object class="sizeritem"> - <flag>wxLEFT|wxRIGHT|wxTOP</flag> - <border>12</border> - <object class="wxStaticText" name="label_49"> - <label>Target Bit Rate (kbps)</label> - </object> - </object> - <object class="sizeritem"> - <flag>wxLEFT|wxRIGHT|wxEXPAND</flag> - <border>12</border> - <object class="wxSlider" name="VideoBitRate"> - <style>wxSL_HORIZONTAL|wxSL_AUTOTICKS|wxSL_LABELS</style> - </object> - </object> - <object class="sizeritem"> - <flag>wxLEFT|wxRIGHT|wxTOP</flag> - <border>12</border> - <object class="wxStaticText" name="label_110"> - <label>Frame Rate</label> - </object> - </object> - <object class="sizeritem"> - <flag>wxLEFT|wxRIGHT|wxEXPAND</flag> - <border>12</border> - <object class="wxSlider" name="FrameRate"> - <style>wxSL_HORIZONTAL|wxSL_AUTOTICKS|wxSL_LABELS</style> - </object> - </object> - <object class="sizeritem"> - <flag>wxLEFT|wxRIGHT|wxTOP</flag> - <border>12</border> - <object class="wxStaticText" name="label_111"> - <label>Temporal/Spatial Trade Off</label> - </object> - </object> - <object class="sizeritem"> - <flag>wxLEFT|wxRIGHT|wxEXPAND</flag> - <border>12</border> - <object class="wxSlider" name="TSTO"> - <style>wxSL_HORIZONTAL|wxSL_AUTOTICKS|wxSL_LABELS</style> - <min>0</min> - <max> 31</max> - </object> - </object> - <object class="sizeritem"> - <option>1</option> + <option>2</option> <flag>wxEXPAND</flag> <object class="wxBoxSizer"> <orient>wxHORIZONTAL</orient> <object class="spacer"> - <size>12, 12</size> - <option>12</option> + <size>20, 20</size> + <option>1</option> <flag>wxEXPAND</flag> </object> <object class="sizeritem"> - <flag>wxTOP|wxBOTTOM</flag> + <flag>wxTOP|wxBOTTOM|wxALIGN_CENTER_VERTICAL</flag> <border>12</border> - <object class="wxButton" name="wxID_OK"> - <label>OK</label> + <object class="wxButton" name="AnswerCall"> + <size>80, 19d</size> + <label>Answer</label> + <font> + <style>normal</style> + <family>default</family> + <weight>normal</weight> + <underlined>0</underlined> + <size>12</size> + </font> </object> </object> <object class="spacer"> - <size>12, 12</size> - <option>2</option> + <size>20, 20</size> + <option>1</option> <flag>wxEXPAND</flag> </object> <object class="sizeritem"> - <flag>wxTOP|wxBOTTOM</flag> + <flag>wxTOP|wxBOTTOM|wxALIGN_CENTER_VERTICAL</flag> <border>12</border> - <object class="wxButton" name="wxID_APPLY"> - <label>Apply</label> + <object class="wxButton" name="RejectCall"> + <size>80, 19d</size> + <label>Reject</label> + <font> + <style>normal</style> + <family>default</family> + <weight>normal</weight> + <underlined>0</underlined> + <size>12</size> + </font> </object> </object> <object class="spacer"> - <size>12, 12</size> - <option>2</option> + <size>20, 20</size> + <option>1</option> <flag>wxEXPAND</flag> </object> + </object> + </object> + <object class="sizeritem"> + <option>1</option> + <flag>wxEXPAND</flag> + <object class="wxBoxSizer"> + <orient>wxHORIZONTAL</orient> <object class="sizeritem"> - <flag>wxTOP|wxBOTTOM</flag> + <option>1</option> + <flag>wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL</flag> <border>12</border> - <object class="wxButton" name="wxID_CANCEL"> - <label>Cancel</label> + <object class="wxRadioBox" name="AnswerAs"> + <content> + <item>Voice</item> + <item>Fax</item> + <item>Detect</item> + </content> + <style>wxRA_SPECIFY_COLS</style> + <selection>2</selection> + <dimension>3</dimension> + <label>Answer As</label> </object> </object> - <object class="spacer"> - <size>12, 12</size> - <option>3</option> - <flag>wxEXPAND</flag> + <object class="sizeritem"> + <option>2</option> + <flag>wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL</flag> + <border>12</border> + <object class="wxFlexGridSizer"> + <hgap>3</hgap> + <rows>2</rows> + <cols>2</cols> + <vgap>2</vgap> + <object class="sizeritem"> + <flag>wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL</flag> + <object class="wxStaticText" name="label_72"> + <label>Calling Party:</label> + <font> + <style>slant</style> + <family>default</family> + <weight>normal</weight> + <underlined>0</underlined> + <size>10</size> + </font> + </object> + </object> + <object class="sizeritem"> + <flag>wxALIGN_CENTER_VERTICAL</flag> + <object class="wxStaticText" name="CallingParty"> + <label>sip:fred</label> + <font> + <style>normal</style> + <family>default</family> + <weight>normal</weight> + <underlined>0</underlined> + <size>10</size> + </font> + </object> + </object> + <object class="sizeritem"> + <flag>wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL</flag> + <object class="wxStaticText" name="label_74"> + <label>Called Party:</label> + <font> + <style>slant</style> + <family>default</family> + <weight>normal</weight> + <underlined>0</underlined> + <size>10</size> + </font> + </object> + </object> + <object class="sizeritem"> + <flag>wxALIGN_CENTER_VERTICAL</flag> + <object class="wxStaticText" name="CalledParty"> + <label>pc:fred</label> + <font> + <style>normal</style> + <family>default</family> + <weight>normal</weight> + <underlined>0</underlined> + <size>10</size> + </font> + </object> + </object> + </object> </object> </object> </object> </object> </object> - <object class="wxDialog" name="PresenceDialog"> + <object class="wxDialog" name="StartVideoDialog"> <style>wxDEFAULT_DIALOG_STYLE</style> - <title>Change My Presence Status</title> + <size>200,100d</size> + <title>Start Video Channel</title> <object class="wxBoxSizer"> <orient>wxVERTICAL</orient> <object class="sizeritem"> - <flag>wxALL|wxEXPAND</flag> - <border>8</border> - <object class="wxChoice" name="PresenceAddress"> - <selection>0</selection> - <content> - </content> + <option>1</option> + <flag>wxEXPAND</flag> + <object class="wxBoxSizer"> + <orient>wxVERTICAL</orient> + <object class="sizeritem"> + <flag>wxLEFT|wxRIGHT|wxTOP|wxEXPAND|wxALIGN_CENTER_VERTICAL</flag> + <border>16</border> + <object class="wxComboBox" name="VideoGrabDevice"> + <selection>-1</selection> + <content> + </content> + </object> + </object> + <object class="spacer"> + <size>4, 4</size> + <option>1</option> + <flag>wxEXPAND</flag> + </object> + <object class="sizeritem"> + <option>1</option> + <flag>wxEXPAND</flag> + <object class="wxBoxSizer"> + <orient>wxHORIZONTAL</orient> + <object class="sizeritem"> + <flag>wxLEFT|wxRIGHT|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL</flag> + <border>16</border> + <object class="wxCheckBox" name="VideoPreview"> + <label>Preview</label> + </object> + </object> + <object class="sizeritem"> + <flag>wxLEFT|wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL</flag> + <border>16</border> + <object class="wxStaticText" name="label_99"> + <label>Content Role:</label> + </object> + </object> + <object class="sizeritem"> + <option>1</option> + <flag>wxRIGHT|wxALIGN_CENTER_VERTICAL</flag> + <border>16</border> + <object class="wxChoice" name="VideoContentRole"> + <selection>0</selection> + <content> + <item>No Role</item> + <item>Presentation</item> + <item>Main (Live)</item> + <item>Speaker</item> + <item>Sign Language</item> + </content> + </object> + </object> + </object> + </object> + <object class="spacer"> + <size>4, 4</size> + <option>1</option> + <flag>wxEXPAND</flag> + </object> </object> </object> <object class="sizeritem"> - <flag>wxALL|wxEXPAND</flag> - <border>8</border> - <object class="wxComboBox" name="PresenceState"> - <selection>-1</selection> - <content> - <item>Back</item> - <item>Busy</item> - <item>Away</item> - <item>Invisible</item> - </content> - </object> - </object> - <object class="sizeritem"> - <flag>wxALIGN_CENTER_HORIZONTAL</flag> + <flag>wxEXPAND</flag> <object class="wxBoxSizer"> <orient>wxHORIZONTAL</orient> + <object class="spacer"> + <size>64, 4</size> + <option>3</option> + <flag>wxEXPAND</flag> + </object> <object class="sizeritem"> - <flag>wxALL</flag> + <flag>wxTOP|wxBOTTOM</flag> <border>16</border> <object class="wxButton" name="wxID_OK"> <label>OK</label> </object> </object> + <object class="spacer"> + <size>32, 4</size> + <option>1</option> + <flag>wxEXPAND</flag> + </object> <object class="sizeritem"> - <flag>wxALL</flag> + <flag>wxTOP|wxBOTTOM</flag> <border>16</border> <object class="wxButton" name="wxID_CANCEL"> <label>Cancel</label> </object> </object> + <object class="spacer"> + <size>64, 4</size> + <option>3</option> + <flag>wxEXPAND</flag> + </object> </object> </object> </object> </object> - <object class="wxDialog" name="CallDialog" subclass="CallDialog"> - <style>wxCAPTION|wxCLOSE_BOX</style> - <title>Call Remote</title> + <object class="wxPanel" name="InCallPanel" subclass="InCallPanel"> + <style>wxSUNKEN_BORDER|wxTAB_TRAVERSAL</style> <object class="wxBoxSizer"> - <orient>wxVERTICAL</orient> + <orient>wxHORIZONTAL</orient> <object class="sizeritem"> - <option>1</option> <flag>wxEXPAND</flag> <object class="wxBoxSizer"> - <orient>wxHORIZONTAL</orient> + <orient>wxVERTICAL</orient> <object class="sizeritem"> - <flag>wxLEFT|wxTOP|wxBOTTOM|wxALIGN_CENTER_VERTICAL</flag> - <border>20</border> - <object class="wxStaticText" name="AddressLabel"> - <label>Address:</label> + <object class="wxBoxSizer"> + <orient>wxHORIZONTAL</orient> + <object class="sizeritem"> + <flag>wxTOP|wxBOTTOM|wxEXPAND</flag> + <border>8</border> + <object class="wxBoxSizer"> + <orient>wxVERTICAL</orient> + <object class="sizeritem"> + <flag>wxBOTTOM|wxALIGN_CENTER_HORIZONTAL</flag> + <border>8</border> + <object class="wxCheckBox" name="SpeakerMute"> + <checked>1</checked> + <label>Speaker</label> + </object> + </object> + <object class="sizeritem"> + <option>1</option> + <flag>wxALIGN_CENTER_HORIZONTAL</flag> + <object class="wxBoxSizer"> + <orient>wxHORIZONTAL</orient> + <object class="sizeritem"> + <flag>wxLEFT|wxRIGHT|wxEXPAND</flag> + <border>8</border> + <object class="wxSlider" name="SpeakerVolume"> + <style>wxSL_VERTICAL|wxSL_INVERSE</style> + <min>0</min> + <max> 100</max> + <size>16, 72d</size> + </object> + </object> + <object class="sizeritem"> + <flag>wxRIGHT|wxEXPAND</flag> + <border>8</border> + <object class="wxGauge" name="SpeakerGauge"> + <style>wxGA_VERTICAL|wxGA_SMOOTH</style> + <range>100</range> + <size>16, 72d</size> + </object> + </object> + </object> + </object> + </object> + </object> + <object class="sizeritem"> + <flag>wxTOP|wxBOTTOM|wxEXPAND</flag> + <border>8</border> + <object class="wxBoxSizer"> + <orient>wxVERTICAL</orient> + <object class="sizeritem"> + <flag>wxBOTTOM|wxALIGN_CENTER_HORIZONTAL</flag> + <border>8</border> + <object class="wxCheckBox" name="MicrophoneMute"> + <checked>1</checked> + <label>Microphone</label> + </object> + </object> + <object class="sizeritem"> + <option>1</option> + <flag>wxEXPAND|wxALIGN_CENTER_HORIZONTAL</flag> + <object class="wxBoxSizer"> + <orient>wxHORIZONTAL</orient> + <object class="sizeritem"> + <flag>wxLEFT|wxRIGHT|wxEXPAND</flag> + <border>8</border> + <object class="wxSlider" name="MicrophoneVolume"> + <style>wxSL_VERTICAL|wxSL_INVERSE</style> + <min>0</min> + <max> 100</max> + <size>16, 72d</size> + </object> + </object> + <object class="sizeritem"> + <flag>wxRIGHT|wxEXPAND</flag> + <border>8</border> + <object class="wxGauge" name="MicrophoneGauge"> + <style>wxGA_VERTICAL|wxGA_SMOOTH</style> + <range>100</range> + <size>16, 72d</size> + </object> + </object> + </object> + </object> + </object> + </object> + <object class="sizeritem"> + <flag>wxRIGHT|wxTOP|wxBOTTOM|wxEXPAND</flag> + <border>8</border> + <object class="wxBoxSizer"> + <orient>wxVERTICAL</orient> + <object class="sizeritem"> + <flag>wxEXPAND</flag> + <object class="wxNotebook" name="Statistics"> + <usenotebooksizer>1</usenotebooksizer> + <object class="notebookpage"> + <label>Rx Audio</label> + <object class="wxPanel" name="RxAudioStatistics"> + <style>wxTAB_TRAVERSAL</style> + <object class="wxBoxSizer"> + <orient>wxHORIZONTAL</orient> + <object class="sizeritem"> + <flag>wxALL</flag> + <border>4</border> + <object class="wxFlexGridSizer"> + <hgap>2</hgap> + <rows>7</rows> + <cols>4</cols> + <vgap>0</vgap> + <object class="sizeritem"> + <flag>wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL</flag> + <object class="wxStaticText" name="label_78"> + <label>Bandwidth:</label> + </object> + </object> + <object class="sizeritem"> + <flag>wxEXPAND|wxALIGN_CENTER_VERTICAL</flag> + <object class="wxStaticText" name="RxAudioBandwidth"> + <style>wxST_NO_AUTORESIZE</style> + <size>42, 9d</size> + <label>%.1f kbps</label> + </object> + </object> + <object class="sizeritem"> + <flag>wxLEFT|wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL</flag> + <border>4</border> + <object class="wxStaticText" name="label_79"> + <label>Min Interval:</label> + </object> + </object> + <object class="sizeritem"> + <flag>wxALIGN_CENTER_VERTICAL</flag> + <object class="wxStaticText" name="RxAudioMinTime"> + <style>wxST_NO_AUTORESIZE</style> + <size>32, 9d</size> + <label>%u ms</label> + </object> + </object> + <object class="sizeritem"> + <flag>wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL</flag> + <object class="wxStaticText" name="label_65"> + <label>Total Bytes:</label> + </object> + </object> + <object class="sizeritem"> + <flag>wxEXPAND|wxALIGN_CENTER_VERTICAL</flag> + <object class="wxStaticText" name="RxAudioBytes"> + <style>wxST_NO_AUTORESIZE</style> + <size>42, 8d</size> + <label>%llu</label> + </object> + </object> + <object class="sizeritem"> + <flag>wxLEFT|wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL</flag> + <border>4</border> + <object class="wxStaticText" name="label_81"> + <label>Avg Interval:</label> + </object> + </object> + <object class="sizeritem"> + <flag>wxALIGN_CENTER_VERTICAL</flag> + <object class="wxStaticText" name="RxAudioAvgTime"> + <style>wxST_NO_AUTORESIZE</style> + <size>32, 9d</size> + <label>%u ms</label> + </object> + </object> + <object class="sizeritem"> + <flag>wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL</flag> + <object class="wxStaticText" name="label_67"> + <label>Packets:</label> + </object> + </object> + <object class="sizeritem"> + <flag>wxEXPAND|wxALIGN_CENTER_VERTICAL</flag> + <object class="wxStaticText" name="RxAudioPackets"> + <style>wxST_NO_AUTORESIZE</style> + <size>32, 9d</size> + <label>%u</label> + </obje... [truncated message content] |