コード例 #1
0
        /// <summary>
        /// Constructor.
        /// </summary>
        public EditArrayVariable(ParserItem _item, Request _request)
        {
            // Set title, icon, resizable
            Title = Director.Properties.Resources.EditVariable;
            Icon = Image.FromResource (DirectorImages.EDIT_CONTENT_ICON);
            Resizable = false;

            // Set variables
            ActiveItem = _item;
            ActiveRequest = _request;

            // Widht height
            Width = 520;
            Height = 330;

            // Init components
            _initializeComponents ();

            // Add buttons
            Buttons.Add (new DialogButton (Director.Properties.Resources.ConfirmInput, Command.Ok));
            Buttons.Add (new DialogButton (Director.Properties.Resources.Cancel, Command.Cancel));

            // Parse data
            ParseData ();
        }
コード例 #2
0
ファイル: Remote.cs プロジェクト: KIV-ASWI-PL2014/Director
        /// <summary>
        /// Send request.
        /// </summary>
        public static RestResponse SendRemoteRequest(Request _request, RestRequest request, String URL)
        {
            // Create client
            var client = new RestClient(URL);

            // Authentication?
            Server server = _request.ParentScenario.ParentServer;
            if (server.Authentication)
                client.Authenticator = new HttpBasicAuthenticator (server.AuthName, server.AuthPassword);

            // Add files
            foreach (var f in _request.Files)
                request.AddFile(f.FileName, f.FilePath);

            // Get response
            return (RestResponse) client.Execute(request);
        }
コード例 #3
0
        /// <summary>
        /// Initializes a new instance of the <see cref="Director.Forms.Inputs.OverviewWidget"/> class.
        /// </summary>
        /// <param name="request">Request.</param>
        public OverviewWidget(Request request)
        {
            // Set active request
            ActiveRequest = request;

            // Set margin
            Margin = 10;
            ExpandHorizontal = true;
            ExpandVertical = true;

            // Create markdown
            Overview = new VBox();
            ScrollOverview = new ScrollView()
            {
                Content = Overview,
                MarginTop = 5
            };
            PackStart(ScrollOverview, expand: true, fill: true);

            // Refresh
            RefreshOverview();
        }
コード例 #4
0
        /// <summary>
        /// Open edit request window and wait until finish!
        /// </summary>
        /// <param name="request"></param>
        public void OpenEditRequest(Request request)
        {
            // Create edit window
            EditWindow editWindow = new EditWindow(this, request);

            // Dispozed window opacity to 1
            editWindow.Closed += delegate
            {
                UpdateControlView(null, null);
            };

            // Show
            editWindow.Show();
        }
コード例 #5
0
        /// <summary>
        /// Switch request serer store objects.
        /// </summary>
        private void SwitchRequestObjects(Request _request, Request _newRequest)
        {
            // Switch objects and names in tree view!
            ServerStore.GetNavigatorAt(_request.TreePosition).SetValue(ColumnName, _newRequest.Name);
            ServerStore.GetNavigatorAt(_newRequest.TreePosition).SetValue(ColumnName, _request.Name);

            // Switch objects
            ServerStore.GetNavigatorAt(_request.TreePosition).SetValue(ColumnType, _newRequest);
            ServerStore.GetNavigatorAt(_newRequest.TreePosition).SetValue(ColumnType, _request);

            // Switch positions
            TreePosition tmpTP = _request.TreePosition;
            _request.TreePosition = _newRequest.TreePosition;
            _newRequest.TreePosition = tmpTP;

            // Refresh box
            UpdateControlView(null, null);
        }
コード例 #6
0
ファイル: Scenario.cs プロジェクト: KIV-ASWI-PL2014/Director
        /// <summary>
        /// Move request up
        /// </summary>
        /// <param name="_request"></param>
        /// <returns></returns>
        internal Request MoveRequestUp(Request _request)
        {
            // Get max position ID
            int _minPosition = Requests.Min(n => n.Position);

            if (_minPosition == _request.Position)
                return null;

            // Find scenario after
            for (int i = _request.Position - 1; i >= _minPosition; i--)
            {
                var _newRequest = Requests.First(n => n.Position == i);
                if (_newRequest != null)
                {
                    _newRequest.Position = _request.Position;
                    _request.Position = i;
                    return _newRequest;
                }
            }
            return null;
        }
コード例 #7
0
ファイル: Scenario.cs プロジェクト: KIV-ASWI-PL2014/Director
        /// <summary>
        /// Move request up
        /// </summary>
        /// <param name="_request"></param>
        /// <returns></returns>
        internal Request MoveRequestDown(Request _request)
        {
            // Get max position ID
            int _maxPosition = Requests.Max(n => n.Position);

            if (_maxPosition == _request.Position)
                return null;

            // Find scenario after
            for (int i = _request.Position + 1; i <= _maxPosition; i++)
            {
                var _newRequest = Requests.First(n => n.Position == i);
                if (_newRequest != null)
                {
                    _newRequest.Position = _request.Position;
                    _request.Position = i;
                    return _newRequest;
                }
            }
            return null;
        }
コード例 #8
0
ファイル: Scenario.cs プロジェクト: KIV-ASWI-PL2014/Director
 /// <summary>
 /// Remove request.
 /// </summary>
 public void RemoveRequest(Request req)
 {
     Requests.Remove(req);
 }
コード例 #9
0
ファイル: Scenario.cs プロジェクト: KIV-ASWI-PL2014/Director
        /// <summary>
        /// Create new empty request in list.
        /// </summary>
        public Request CreateNewRequest()
        {
            // Get max ID
            int _requestId = 1, _position = 1;

            // There are some members of request in list (get Max)
            if (Requests.Count > 0)
            {
                _requestId = Requests.Max(x => x.Id) + 1;
                _position = Requests.Max(x => x.Position) + 1;
            }

            // Create request
            Request ret = new Request(_requestId, _position, Director.Properties.Resources.NewRequestName)
            {
                ParentScenario = this,
                Url = ParentServer.GetUrl()
            };

            // Copy Server Headers
            foreach (var h in ParentServer.DefaultHeaders)
                ret.Headers.Add(new Header(h));

            // Add new request
            Requests.Add(ret);

            // Return request
            return ret;
        }
コード例 #10
0
 /// <summary>
 /// Set request.
 /// </summary>
 /// <param name="request"></param>
 public void SetRequest(Request request)
 {
     ActiveRequest = request;
     RequestName.Changed -= RequestName_Changed;
     RequestName.Text = request.Name;
     RequestName.Changed += RequestName_Changed;
     ActiveRequest.CreateResult(RequestStatus, CaptionFont);
     ActiveRequest.CreateOverview(RequestOverview, CaptionFont);
 }
コード例 #11
0
        /// <summary>
        /// Initializes a new instance of the <see cref="Director.Forms.Controls.ResponseWidget"/> class.
        /// </summary>
        /// <param name="_request">_request.</param>
        public ResponseWidget(Request _request)
        {
            // Set request
            ActiveRequest = _request;

            // Set margin
            Margin = 10;

            // Expected status code
            PackStart(new Label(Director.Properties.Resources.ExpectedStatusCode));
            ExpectedStatusCode = new TextEntry()
            {
                Text = ActiveRequest.ExpectedStatusCode + "",
                ExpandHorizontal = true
            };
            PackStart(ExpectedStatusCode, expand: false, fill: false);
            PackStart(InvalidStatusCode, vpos: WidgetPlacement.End);
            ExpectedStatusCode.Changed += delegate
            {
                var t = ExpectedStatusCode.Text;
                if (t.Length == 0)
                {
                    InvalidStatusCode.Visible = false;
                    ActiveRequest.ExpectedStatusCode = -1;
                    return;
                }

                try
                {
                    int x = int.Parse(t);
                    if (x <= 0)
                        throw new InvalidCastException();

                    ActiveRequest.ExpectedStatusCode = x;
                    InvalidStatusCode.Visible = false;
                }
                catch
                {
                    InvalidStatusCode.Visible = true;
                }
            };

            // Label
            PackStart(new Label() { Markup = "<b>" + Director.Properties.Resources.ResponseContent + ":</b>" });

            // Content box
            ContentBox = new VBox () {
                ExpandHorizontal = true,
                ExpandVertical = true
            };
            PackStart(ContentBox, expand: true, fill: true);

            // Edit btn
            Button SetContent = new Button(Image.FromResource(DirectorImages.EDIT_CONTENT_ICON), Director.Properties.Resources.EditContent)
            {
                WidthRequest = 150,
                ExpandHorizontal = false,
                ExpandVertical = false
            };
            PackStart(SetContent, expand: false, hpos: WidgetPlacement.End);

            // Click events
            SetContent.Clicked += SetContent_Clicked;

            // Request menu helper
            RequestHelperMenu = new Menu();

            // Edit
            EditVariable = new MenuItem(Director.Properties.Resources.EditVariable)
            {
                Image = Image.FromResource(DirectorImages.EDIT_CONTENT_ICON)
            };
            RequestHelperMenu.Items.Add(EditVariable);
            EditVariable.Clicked += EditVariable_Clicked;
            RefreshContent ();
        }
コード例 #12
0
        /// <summary>
        /// Create window instance.
        /// </summary>
        /// <param name="_window">Main window</param>
        /// <param name="_request">Active request</param>
        public EditWindow(MainWindow _window, Request _request)
        {
            // Set default size
            Width = 770;
            Height = 680;

            // This window can not be maximalized
            Resizable = true;

            // Set title
            Title = string.Format("{0}: {1}", Director.Properties.Resources.RequestTab, _request.Name);

            // Icon
            Icon = Image.FromResource(DirectorImages.ROOT_ICON);

            // Center screen
            InitialLocation = WindowLocation.CenterScreen;

            // Set window and request
            ActiveWindow = _window;
            ActiveRequest = _request;

            // Initialize components
            _initializeComponents();
        }
コード例 #13
0
        /// <summary>
        /// Create widget.
        /// </summary>
        /// <param name="_request"></param>
        public RequestWidget(Request _request)
        {
            // Set request
            ActiveRequest = _request;

            // Set margin
            Margin = 10;

            // Create Text view
            PackStart(new Label() { Markup = "<b>" + Director.Properties.Resources.RequestContent + "</b>" });

            // Content box
            ContentBox = new VBox () {
                ExpandHorizontal = true,
                ExpandVertical = true
            };
            PackStart(ContentBox, expand: true, fill: true);

            // Edit btn
            Button SetContent = new Button(Image.FromResource(DirectorImages.EDIT_CONTENT_ICON), Director.Properties.Resources.EditContent)
            {
                WidthRequest = 150,
                ExpandHorizontal = false,
                ExpandVertical = false
            };
            PackStart(SetContent, expand: false, hpos: WidgetPlacement.End);

            // Click events
            SetContent.Clicked += SetContent_Clicked;

            // Request menu helper
            RequestHelperMenu = new Menu();
            EditVariable = new MenuItem(Director.Properties.Resources.EditVariable)
            {
                Image = Image.FromResource(DirectorImages.EDIT_CONTENT_ICON)
            };
            RequestHelperMenu.Items.Add(EditVariable);
            EditVariable.Clicked += EditVariable_Clicked;

            RefreshContent ();
        }