Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Wisej.Web.Application FormCollection
Wisej.Core.ClientPlatform
Wisej.Web.PinchEventArgs
Wisej.Web.ResponsiveProfileChangedEventArgs
Wisej.Core.LoadConfigurationEventHandler
Wisej.Web.FileDialogRootCollection
Wisej.Core.ClientCollection
Wisej.Web.Application PageCollection
Wisej.Web.RotateEventArgs
Wisej.Web.SwipeDirection
Wisej.Web.Screen
Wisej.Web.MenuButtonItemClickedEventHandler
Wisej.Web.JavaScript ClientEvent
Wisej.Web.ServiceScope
Wisej.Core.LoadConfigurationEventArgs
Wisej.Web.LicenseErrorEventArgs
Public Class FormCollection
Inherits ICollection
Implements IEnumerablepublic class FormCollection : ICollection, IEnumerablePublic Class ClientPlatformpublic class ClientPlatformPublic Class PinchEventArgs
Inherits EventArgspublic class PinchEventArgs : EventArgsPublic Class ResponsiveProfileChangedEventArgs
Inherits EventArgspublic class ResponsiveProfileChangedEventArgs : EventArgsPublic Delegate Sub LoadConfigurationEventHandler(ByVal sender As [Object], ByVal args As LoadConfigurationEventArgs)public delegate void LoadConfigurationEventHandler(Object sender, LoadConfigurationEventArgs args)Public Class FileDialogRootCollection
Inherits List(Of )public class FileDialogRootCollection : List<>Public Class ClientCollection
Inherits IList(Of Client)
Implements ICollection(Of Client), IEnumerable(Of Client), IEnumerablepublic class ClientCollection : IList<Client>, ICollection<Client>, IEnumerable<Client>, IEnumerablePublic Class PageCollection
Inherits ICollection
Implements IEnumerablepublic class PageCollection : ICollection, IEnumerablePublic Class RotateEventArgs
Inherits EventArgspublic class RotateEventArgs : EventArgsPublic Enum SwipeDirection As [Enum]public enum SwipeDirection : EnumPublic Class Screenpublic class ScreenPublic Delegate Sub MenuButtonItemClickedEventHandler(ByVal sender As [Object], ByVal e As MenuButtonItemClickedEventArgs)public delegate void MenuButtonItemClickedEventHandler(Object sender, MenuButtonItemClickedEventArgs e)Public Enum ServiceScope As [Enum]public enum ServiceScope : EnumPublic Class LoadConfigurationEventArgs
Inherits EventArgspublic class LoadConfigurationEventArgs : EventArgsPublic Class LicenseErrorEventArgs
Inherits EventArgspublic class LicenseErrorEventArgs : EventArgsPublic Class ClientEventpublic class ClientEventWisej.Web.ResponsiveProfileChangedEventHandler
Wisej.Web.ColorDialog
Wisej.Core.ClientProfile
Wisej.Web.ResponsiveProfileChangedEventHandler
Wisej.Web.TrackEventHandler
Wisej.Web.PinchEventHandler
Wisej.Web.AccordionAction
Wisej.Web.QueryContinueDragEventArgs
Wisej.Web.PreviewKeyDownEventHandler
Public Class ClientProfilepublic class ClientProfilePublic Delegate Sub ResponsiveProfileChangedEventHandler(ByVal sender As [Object], ByVal e As ResponsiveProfileChangedEventArgs)public delegate void ResponsiveProfileChangedEventHandler(Object sender, ResponsiveProfileChangedEventArgs e)Public Delegate Sub TrackEventHandler(ByVal sender As [Object], ByVal e As TrackEventArgs)public delegate void TrackEventHandler(Object sender, TrackEventArgs e)Public Delegate Sub PinchEventHandler(ByVal sender As [Object], ByVal e As PinchEventArgs)public delegate void PinchEventHandler(Object sender, PinchEventArgs e)Public Enum AccordionAction As [Enum]public enum AccordionAction : EnumPublic Class QueryContinueDragEventArgs
Inherits EventArgspublic class QueryContinueDragEventArgs : EventArgsPublic Delegate Sub PreviewKeyDownEventHandler(ByVal sender As [Object], ByVal e As PreviewKeyDownEventArgs)public delegate void PreviewKeyDownEventHandler(Object sender, PreviewKeyDownEventArgs e)Public Class ColorDialog
Inherits CommonDialogpublic class ColorDialog : CommonDialogWisej.Web.Button
Wisej.Web.FileDialogUI
Wisej.Web.SplitButton
Wisej.Web.FolderBrowserDialogUI
Wisej.Web.AccordionEventArgs
Wisej.Web.OpenFileDialog
Public Class Button
Inherits ButtonBase
Implements IButtonControl, ICommandSourcepublic class Button : ButtonBase, IButtonControl, ICommandSourcePublic Class FileDialogUI
Inherits Formpublic class FileDialogUI : FormPublic Class SplitButton
Inherits Buttonpublic class SplitButton : ButtonPublic Class FolderBrowserDialogUI
Inherits Formpublic class FolderBrowserDialogUI : FormPublic Class AccordionEventArgs
Inherits EventArgspublic class AccordionEventArgs : EventArgspublic class OpenFileDialog : FileDialogPublic Class OpenFileDialog
Inherits FileDialog<script>
Wisej.userData = {
value1: 100,
someName: "test"
};
</script>
int value1 = Application.Browser.UserData.value1;
string value2 = Application.Browser.UserData.someName;
Wisej.Web.RadioButton
Wisej.Web.Cursor
Wisej.Web.AccordionPanel
Wisej.Web.JavaScript ClientEventCollection
Public Class RadioButton
Inherits ButtonBase
Implements IReadOnlypublic class RadioButton : ButtonBase, IReadOnlyPublic Class Cursorpublic class Cursorpublic class AccordionPanel : PanelPublic Class AccordionPanel
Inherits PanelPublic Class ClientEventCollection
Inherits IList
Implements ICollection, IEnumerable, IList(Of ClientEvent), ICollection(Of ClientEvent), IEnumerable(Of ClientEvent)public class ClientEventCollection : IList, ICollection, IEnumerable, IList<ClientEvent>, ICollection<ClientEvent>, IEnumerable<ClientEvent>Wisej.Web.FileDialog
Wisej.Web.SaveFileDialog
Wisej.Web.FolderBrowserDialog
Public Class FileDialog
Inherits CommonDialogpublic class FileDialog : CommonDialogPublic Class SaveFileDialog
Inherits FileDialogpublic class SaveFileDialog : FileDialogPublic Class FolderBrowserDialog
Inherits CommonDialogpublic class FolderBrowserDialog : CommonDialogWisej.Web.CheckBox
Wisej.Web.ButtonBase
Wisej.Web.Component
Public Class CheckBox
Inherits ButtonBase
Implements IReadOnlypublic class CheckBox : ButtonBase, IReadOnlyPublic Class ButtonBase
Inherits Control
Implements IImagepublic class ButtonBase : Control, IImagepublic class Component : Component,Public Class Component
Inherits Component
Implements IComponentWisej.Core.Configuration
Public Class Configurationpublic class Configuration <script>
Wisej.onExit = function() {
// this is the default implementation
// when AutoReload is set to true.
location.reload();
}
</script>[assembly: PreApplicationStartMethod(typeof(ApplicationNameSpace.HttpModuleStartup), "Start")]
namespace ApplicationNameSpace
{
public static class HttpModuleStartup
{
public static void Start()
{
Wisej.Core.Configuration.LoadConfiguration += (s, e) =>
{
// load json from a file, or build a json object.
// you can also implement your own caching mechanism here.
e.SuppressCache = true;
return new Wisej.Core.Configuration(new
{
url = "Default.html",
theme = "bootstrap-4",
startup = "ApplicationNameSpace.Program.Main, Application"
}.ToJSON());
}
}
}
}Wisej.Web.Control ControlCollection
Wisej.Web.Accordion
Public Class ControlCollection
Inherits ControlCollection
Implements IList(Of Control), ICollection(Of Control), IEnumerable(Of Control), IWisejSynchronizedpublic class ControlCollection : ControlCollection, IList<Control>, ICollection<Control>, IEnumerable<Control>, IWisejSynchronizedpublic class Accordion : Control,Public Class Accordion
Inherits Control
Implements ISupportInitializeWisej.Web.Clipboard
public class ClipboardPublic Class ClipboardWisej.Web.DataObject
public class DataObject : IDataObjectPublic Class DataObject
Inherits IDataObjectWisej.Core.ClientTheme
public class ClientTheme : IWisejSerializablePublic Class ClientTheme
Inherits IWisejSerializable// create a new custom theme cloned from the current theme.
var myTheme1 = new ClientTheme("MyTheme1", Application.Theme);
// create a new custom theme from a JSON string.
var myTheme2 = new ClientTheme("MyTheme2", json);Wisej.Web.Accordion PanelCollection
// alter the border of buttons.
// note that when there is a keyword clash you can use the @ prefix.
Application.Theme.Appearances.button.states.@default.styles.width = 3;
Application.Theme.Appearances.button.states.@default.styles.radius = 0;
// additionally, you my use a string indexer to reach any property.
Application.Theme.Appearances.button.states["default"].styles.radius = 0;
// change existing color.
Application.Theme.Colors.buttonFace = "red";
// create a new color.
Application.Theme.Colors.myCoolColor = "rgba(5,23,55,0.9)";
// since the theme objects are all dynamic and use a special DynamicObject
// class part of the Wisej Framework, you can also use a string indexer
// to address any field.
Application.Theme.Colors["buttonFace"] = "red";
// make the window title bigger and bold.
Application.Theme.Fonts.windowTitle.size = 18;
Application.Theme.Fonts.windowTitle.bold = true;
// create a custom css rules in the theme.
Application.Theme.Stylesheet.rules = new []{
"body: { background-color: red };",
".myClass: { background-color: red };"
};
Public Class PanelCollection
Inherits IList
Implements ICollection, IEnumerable, IList(Of AccordionPanel), ICollection(Of AccordionPanel), IEnumerable(Of AccordionPanel)public class PanelCollection : IList, ICollection, IEnumerable, IList<AccordionPanel>, ICollection<AccordionPanel>, IEnumerable<AccordionPanel>Wisej.Web.Application
public class Application : IWisejComponent,Public Class Application
Inherits IWisejComponent
Implements IDisposable, IWisejSynchronized, IServiceProvider Application.Session.myValue = 12;
Application.Session["myValue"] = 12;
var current = Application.Current;
var thread = new Thread(() => {
Application.Update(current, () => {
// code here is running in context.
});
});static class Program
{
static Program()
{
Application.LicenseKey = "...";
}
}// create a new custom theme cloned from the current theme.
var myTheme = new ClientTheme("MyTheme", Application.Theme);
// alter the buttonFace color.
myTheme.Colors.buttonFace = "red";
// update the current session using the new custom theme.
Application.Theme = myTheme;
// change the buttonFace color in the current theme.
// if the theme is one of the global themes, i.e. it was loaded
// using Application.LoadTheme(name), then the change is also global.
Application.Theme.Colors.buttonFace = "red";
// since the theme objects are all dynamic and use a special DynamicObject
// class part of the Wisej Framework, you can also use a string indexer
// to address any field.
Application.Theme.Colors["buttonFace"] = "red";
// Find the first component that is a Button with Text = "OK"
var button = Application.FindComponent(c => c is Button && ((Button)c).Text == "OK"); // List all text boxes that are read only in all forms.
var list = Application.FindComponents(c => c is TextBox && ((TextBox)c).ReadOnly);
void Test() {
Application.Post(() => {
this.listBox.Items.Add("1");
});
this.listBox.Items.Add("2");
// The items will be added in this order: "2", "1".
}
// this has not effect when the client and server are connected using WebSocket.
Application.StartPolling(1000);
Application.StartTask(() => {
for (int i = 0; i < 100; i++) {
this.label1.Text = "Counting..." + i;
Thread.Sleep(1000);
}
// this has not effect when the client and server are NOT connected using WebSocket.
Application.Update(this);
// this has not effect when the client and server are connected using WebSocket.
Application.EndPolling();
});Application.StartTask(() => {
for (int i = 0; i < 100; i++) {
this.label1.Text = "Counting..." + i;
// just wait a bit or it's too fast.
Thread.Sleep(1000);
Application.Update(this);
}
});string text = await Application.StartTask(() => {
string value = "";
for (int i = 0; i < 100; i++) {
value += i.ToString();
// just wait a bit or it's too fast.
Thread.Sleep(100);
}
return value;
});
this.label.Text = text;
Application.Update(this);
Application.StartTask(() => {
for (int i = 0; i < 100; i++) {
this.label1.Text = "Counting..." + i;
// just wait a bit or it's too fast.
Thread.Sleep(1000);
}
Application.Update(this);
});Application.StartTask(() => {
Application.Update(this, () => {
for (int i = 0; i < 100; i++) {
this.label1.Text = "Counting..." + i;
// just wait a bit or it's too fast.
Thread.Sleep(1000);
}
});
});Wisej.Web.Control
public class Control : IWisejControl,Public Class Control
Inherits IWisejControl
Implements IWisejComponent, IBindableComponent, IWisejSerializable, IHasPropertyStore, IHasResponsiveProfiles
// set the border radius to 100% and make the control round.
this.button1.CssStyle = "border-radius:100%";
// change the background color of the internal label of the button widget.
this.button1.InitScript = "this.getChildControl('label').setBackgroundColor('red')";
// attach a JavaScript event handler.
this.textBox1.InitScript = @"this.addListener('keydown', function(e) {
if (e.getKeyIdentifier() == "PageDown") {
alert('You pressed PageDown.');
}
});
// force the widget to update the UI as if it was hovered and focused.
this.button1.States = new [] { "hovered", "focused" };
// apply a custom state defined in a custom theme or theme mixing.
this.panel1.States = new [] { "alert" }; this.fireWidgetEvent("myevent", {x:1, y:2, name:'test'});
private void control_WidgetEvent(object sender, WidgetEventArgs e) {
switch (e.Type) {
case "myevent":
var data = e.Data;
Alert.Show($"x={data.x}, y={data.y}, name={data.name}");
break;
}
}