From b8762554382e54f21c6ef08ff3e53abda3bd5953 Mon Sep 17 00:00:00 2001 From: cxl Date: Mon, 26 Oct 2009 08:49:33 +0000 Subject: [PATCH] syncing uppdev git-svn-id: svn://ultimatepp.org/upp/trunk@1660 f0d560ea-af0d-0410-9eb7-867de7ffcac7 --- uppdev/Socket/Socket.cpp | 151 +++++++++++++++++++++++++++++++ uppdev/Socket/Socket.upp | 9 ++ uppdev/slidertest/main.cpp | 29 ++++++ uppdev/slidertest/slidertest.h | 23 +++++ uppdev/slidertest/slidertest.lay | 15 +++ uppdev/slidertest/slidertest.upp | 11 +++ 6 files changed, 238 insertions(+) create mode 100644 uppdev/Socket/Socket.cpp create mode 100644 uppdev/Socket/Socket.upp create mode 100644 uppdev/slidertest/main.cpp create mode 100644 uppdev/slidertest/slidertest.h create mode 100644 uppdev/slidertest/slidertest.lay create mode 100644 uppdev/slidertest/slidertest.upp diff --git a/uppdev/Socket/Socket.cpp b/uppdev/Socket/Socket.cpp new file mode 100644 index 000000000..4d19b5690 --- /dev/null +++ b/uppdev/Socket/Socket.cpp @@ -0,0 +1,151 @@ +#include + +#include + +#include + +#include + +using namespace Upp; + + + +bool run=true; + + + +void sighandler(int sig) + +{ + + run=false; + +}; + + + +CONSOLE_APP_MAIN + +{ + + signal(SIGABRT, sighandler); + + signal(SIGINT, sighandler); + + signal(SIGTERM, sighandler); + + int port = 7755; + + + + const Vector& cmdline = CommandLine(); + + ArgProcessor ap("Test Application", "0.1"); + + Arg server_arg("Server","Specify to set program to server mode.", false); + + Arg host_arg("Destination", "Destination to connect to (client mode).", false); + + ArgSet client_args, server_args; + + client_args.AddArg(host_arg); + + server_args.AddArg(server_arg); + + ap.AddArgSet(client_args); + + ap.AddArgSet(server_args); + + ap.PrintUsageOnError(); + + ap.ProcessCmdLine(cmdline); + + + + if(!ap.IsError()) + + { + + String host; + + if(host_arg.IsSet()) + + { + + host = host_arg.Val(); + + } + + else + + { + + host = "localhost"; + + } + + + + if(!server_arg.IsSet()) + + { + + Socket s1; + + if( ClientSocket(s1,host,port) ) + + { + + s1.Write("Hello World!"); + + s1.Close(); + + } + + } + + else + + { + + Cout() << "Server started. Press Ctrl-C to exit.\n"; + + Socket accept_socket, data_socket; + + ServerSocket(accept_socket,port); + + while(run) + + { + + dword ipaddr; + + if( accept_socket.Accept(data_socket, &ipaddr) ) + + { + + Cout() << "Connection from " << FormatIP(m_ipaddr) << "\n"; + + while(data_socket.IsOpen() && !data_socket.IsError() && !data_socket.IsEof()) + + { + + Cout() << data_socket.Read(); + + } + + Cout() << "\n"; + + data_socket.Close(); + + } + + } + + accept_socket.Close(); + + } + + } + +} \ No newline at end of file diff --git a/uppdev/Socket/Socket.upp b/uppdev/Socket/Socket.upp new file mode 100644 index 000000000..b530ff462 --- /dev/null +++ b/uppdev/Socket/Socket.upp @@ -0,0 +1,9 @@ +uses + Core; + +file + Socket.cpp; + +mainconfig + "" = ""; + diff --git a/uppdev/slidertest/main.cpp b/uppdev/slidertest/main.cpp new file mode 100644 index 000000000..95f652dd7 --- /dev/null +++ b/uppdev/slidertest/main.cpp @@ -0,0 +1,29 @@ +#include "slidertest.h" + + + +slidertest::slidertest() +{ + CtrlLayout(*this, "Window title"); + + sldRegH << THISBACK2( OnSlider, &sldRegH, &txtRegH ); + sldRegV << THISBACK2( OnSlider, &sldRegV, &txtRegV ); + sldRevH << THISBACK2( OnSlider, &sldRevH, &txtRevH ); + sldRevV << THISBACK2( OnSlider, &sldRevV, &txtRevV ); + + sldRegH.MinMax( -100, 100 ); + sldRevH.MinMax( 100, -100 ); + sldRegV.MinMax( -100, 100 ); + sldRevV.MinMax( 100, -100 ); +} + +void slidertest::OnSlider( SliderCtrl* sld, StaticText* txt ) +{ + txt->SetText( sld->GetData().ToString().Begin() ); +} + +GUI_APP_MAIN +{ + slidertest().Run(); +} + diff --git a/uppdev/slidertest/slidertest.h b/uppdev/slidertest/slidertest.h new file mode 100644 index 000000000..c57c46327 --- /dev/null +++ b/uppdev/slidertest/slidertest.h @@ -0,0 +1,23 @@ +#ifndef _slidertest_slidertest_h +#define _slidertest_slidertest_h + +#include + +using namespace Upp; + +#define LAYOUTFILE +#include + + + +class slidertest : public WithslidertestLayout { +public: + typedef slidertest CLASSNAME; + slidertest(); + + void OnSlider( SliderCtrl* sld, StaticText* txt ); + +}; + +#endif + diff --git a/uppdev/slidertest/slidertest.lay b/uppdev/slidertest/slidertest.lay new file mode 100644 index 000000000..291dc4fd4 --- /dev/null +++ b/uppdev/slidertest/slidertest.lay @@ -0,0 +1,15 @@ +LAYOUT(slidertestLayout, 452, 220) + ITEM(SliderCtrl, sldRevV, LeftPosZ(336, 28).TopPosZ(44, 100)) + ITEM(Label, dv___1, SetLabel(t_("Reverse Horz")).LeftPosZ(40, 112).TopPosZ(96, 21)) + ITEM(StaticText, txtRevH, LeftPosZ(40, 40).TopPosZ(144, 19)) + ITEM(StaticText, txtRevV, LeftPosZ(336, 40).TopPosZ(144, 19)) + ITEM(StaticText, txtRegV, LeftPosZ(208, 40).TopPosZ(144, 19)) + ITEM(StaticText, txtRegH, LeftPosZ(40, 40).TopPosZ(68, 19)) + ITEM(Label, dv___6, SetLabel(t_("Reverse Vert")).LeftPosZ(336, 84).TopPosZ(20, 21)) + ITEM(Label, dv___7, SetLabel(t_("Regular Vert")).LeftPosZ(208, 84).TopPosZ(20, 21)) + ITEM(Label, dv___8, SetLabel(t_("Regular Horz")).LeftPosZ(40, 112).TopPosZ(20, 21)) + ITEM(SliderCtrl, sldRegV, LeftPosZ(208, 28).TopPosZ(44, 100)) + ITEM(SliderCtrl, sldRevH, LeftPosZ(40, 112).TopPosZ(120, 24)) + ITEM(SliderCtrl, sldRegH, LeftPosZ(40, 112).TopPosZ(44, 24)) +END_LAYOUT + diff --git a/uppdev/slidertest/slidertest.upp b/uppdev/slidertest/slidertest.upp new file mode 100644 index 000000000..2cfc59304 --- /dev/null +++ b/uppdev/slidertest/slidertest.upp @@ -0,0 +1,11 @@ +uses + CtrlLib; + +file + slidertest.h, + main.cpp, + slidertest.lay; + +mainconfig + "" = "GUI"; +