{
mSelectedIndex = i;
Debug("Selected index: " + mSelectedIndex);
+ CreateIpSettingsInfoPage();
+ }
+ }
+
+ private void CreateIpSettingsInfoPage()
+ {
+ if (mTitle == Resources.IDS_WIFI_BODY_IP_SETTINGS && mSelectedIndex == 0)
+ {
+ Debug("");
+ IPSettingsInfoPage page = new IPSettingsInfoPage(mAddItem);
+ page.CreateComponents(Resources.IDS_WIFI_BODY_IP_SETTINGS);
+ NUIApplication.GetDefaultWindow().GetDefaultNavigator().Push(page);
}
}
}
}
}
+
+ class IPSettingsInfoPage : DialogPage
+ {
+ private AddNetworkItem mAddNetworkItem;
+ private string mTitle;
+ TextField[] infoFields;
+ string[] infoFieldTitles;
+ internal IPSettingsInfoPage(AddNetworkItem item)
+ {
+ Debug("IPSettingsInfoPage");
+ mAddNetworkItem = item;
+ infoFields = new TextField[5];
+ infoFieldTitles = new string[]
+ {
+ Resources.IDS_WIFI_BODY_IP_ADDRESS,
+ Resources.IDS_WIFI_BODY_GATEWAY,
+ Resources.IDS_ST_BODY_NETWORK_PREFIX_LENGTH,
+ Resources.IDS_WIFI_BODY_DNS_1,
+ Resources.IDS_WIFI_BODY_DNS_2
+ };
+ }
+
+ internal void CreateComponents(string title)
+ {
+ mTitle = title;
+ var infoView = new View()
+ {
+ Layout = new LinearLayout()
+ {
+ LinearOrientation = LinearLayout.Orientation.Vertical,
+ },
+ WidthSpecification = LayoutParamPolicies.WrapContent,
+ HeightSpecification = LayoutParamPolicies.WrapContent,
+ };
+
+ TextLabel label = new TextLabel("Static") {
+ HorizontalAlignment = HorizontalAlignment.Center,
+ };
+
+ infoView.Add(label);
+
+ CreateInfoFields(infoView);
+
+ var okButton = new Button()
+ {
+ Text = Resources.IDS_WIFI_BODY_DONE,
+ };
+ okButton.Clicked += OnOkClicked;
+
+ Content = new AlertDialog()
+ {
+ Title = mTitle,
+ Content = infoView,
+ Actions = new View[] { okButton },
+ };
+ }
+
+ void CreateInfoFields(View infoView)
+ {
+ for(int i = 0; i < infoFields.Length; i++)
+ {
+ TextLabel label = new TextLabel(infoFieldTitles[i]);
+ infoFields[i] = new TextField()
+ {
+ Name = infoFieldTitles[i],
+ WidthSpecification = 250,
+ PlaceholderText = "0.0.0.0",
+ BackgroundColor = Color.LightGrey,
+ };
+
+ infoView.Add(label);
+ infoView.Add(infoFields[i]);
+ }
+ }
+ private void OnOkClicked(object sender, ClickedEventArgs e)
+ {
+ Debug("OnOkClicked ");
+ // Update values
+ mAddNetworkItem.IPv4 = infoFields[0].Text;
+ mAddNetworkItem.GatewayAddress = infoFields[0].Text;
+ mAddNetworkItem.NetworkPrefixLength = infoFields[0].Text;
+ mAddNetworkItem.Dns1 = infoFields[0].Text;
+ mAddNetworkItem.Dns2 = infoFields[0].Text;
+
+ NUIApplication.GetDefaultWindow().GetDefaultNavigator().Pop();
+ }
+ }
}