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...
Loading...
Wisej.Web.HashChangedEventHandler
Wisej.Web.LicenseErrorEventHandler
Wisej.Web.LayoutEventHandler
Wisej.Web.RotateEventHandler
Wisej.Web.PinchEventArgs
Wisej.Core.PlatformProvider
Wisej.Core.LoadConfigurationEventHandler
Wisej.Core.ClientPlatform
Wisej.Core.ClientCollection
Wisej.Web.JavaScript ClientEvent
Wisej.Web.Application FormCollection
Wisej.Core.LoadConfigurationEventArgs
Wisej.Web.SwipeDirection
Wisej.Web.LicenseErrorEventArgs
Public Delegate Sub HashChangedEventHandler(ByVal sender As [Object], ByVal e As HashChangedEventArgs)public delegate void HashChangedEventHandler(Object sender, HashChangedEventArgs e)Public Delegate Sub LicenseErrorEventHandler(ByVal sender As [Object], ByVal e As HashChangedEventArgs)public delegate void LicenseErrorEventHandler(Object sender, HashChangedEventArgs e)Public Delegate Sub LayoutEventHandler(ByVal sender As [Object], ByVal e As LayoutEventArgs)public delegate void LayoutEventHandler(Object sender, LayoutEventArgs e)Public Delegate Sub RotateEventHandler(ByVal sender As [Object], ByVal e As RotateEventArgs)public delegate void RotateEventHandler(Object sender, RotateEventArgs e)Public Class PinchEventArgs
Inherits EventArgspublic class PinchEventArgs : EventArgsPublic Enum PlatformProvider As [Enum]public enum PlatformProvider : EnumPublic Delegate Sub LoadConfigurationEventHandler(ByVal sender As [Object], ByVal args As LoadConfigurationEventArgs)public delegate void LoadConfigurationEventHandler(Object sender, LoadConfigurationEventArgs args)Public Class ClientPlatformpublic class ClientPlatformPublic Class ClientCollection
Inherits IList(Of Client)
Implements ICollection(Of Client), IEnumerable(Of Client), IEnumerablepublic class ClientCollection : IList<Client>, ICollection<Client>, IEnumerable<Client>, IEnumerablePublic Class FormCollection
Inherits ICollection
Implements IEnumerablepublic class FormCollection : ICollection, IEnumerablePublic Class LoadConfigurationEventArgs
Inherits EventArgspublic class LoadConfigurationEventArgs : EventArgsPublic Enum SwipeDirection As [Enum]public enum SwipeDirection : EnumPublic Class LicenseErrorEventArgs
Inherits EventArgspublic class LicenseErrorEventArgs : EventArgsPublic Class ClientEventpublic class ClientEventWisej.Core.ClientProfile
Wisej.Web.ResponsiveProfileChangedEventHandler
Wisej.Web.SwipeEventHandler
Wisej.Web.WidgetEventHandler
Wisej.Web.MenuButtonItemClickedEventHandler
Wisej.Web.DragEventHandler
Wisej.Web.AccordionAction
Wisej.Web.PreviewKeyDownEventHandler
Wisej.Web.QueryContinueDragEventArgs
Wisej.Web.KeyEventHandler
Wisej.Web.SwipeEventArgs
Wisej.Web.MenuButtonItemClickedEventArgs
Wisej.Web.HashChangedEventArgs
Wisej.Web.HelpEventHandler
Wisej.Web.ResponsiveProfileChangedEventArgs
Wisej.Web.ColorDialog
Wisej.Web.FileDialogLoadPathEventHandler
Wisej.Web.AccordionCancelEventHandler
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 SwipeEventHandler(ByVal sender As [Object], ByVal e As SwipeEventArgs)public delegate void SwipeEventHandler(Object sender, SwipeEventArgs e)Public Delegate Sub WidgetEventHandler(ByVal sender As [Object], ByVal e As WidgetEventArgs)public delegate void WidgetEventHandler(Object sender, WidgetEventArgs e)Public Delegate Sub MenuButtonItemClickedEventHandler(ByVal sender As [Object], ByVal e As MenuButtonItemClickedEventArgs)public delegate void MenuButtonItemClickedEventHandler(Object sender, MenuButtonItemClickedEventArgs e)Public Delegate Sub DragEventHandler(ByVal sender As [Object], ByVal e As DragEventArgs)public delegate void DragEventHandler(Object sender, DragEventArgs e)Public Enum AccordionAction As [Enum]public enum AccordionAction : EnumPublic Delegate Sub PreviewKeyDownEventHandler(ByVal sender As [Object], ByVal e As PreviewKeyDownEventArgs)public delegate void PreviewKeyDownEventHandler(Object sender, PreviewKeyDownEventArgs e)Public Class QueryContinueDragEventArgs
Inherits EventArgspublic class QueryContinueDragEventArgs : EventArgsPublic Delegate Sub KeyEventHandler(ByVal sender As [Object], ByVal e As KeyEventArgs)public delegate void KeyEventHandler(Object sender, KeyEventArgs e)Public Class SwipeEventArgs
Inherits EventArgspublic class SwipeEventArgs : EventArgsPublic Class MenuButtonItemClickedEventArgs
Inherits EventArgspublic class MenuButtonItemClickedEventArgs : EventArgsPublic Class HashChangedEventArgs
Inherits EventArgspublic class HashChangedEventArgs : EventArgsPublic Delegate Sub HelpEventHandler(ByVal sender As [Object], ByVal hlpevent As HelpEventArgs)public delegate void HelpEventHandler(Object sender, HelpEventArgs hlpevent)Public Class ResponsiveProfileChangedEventArgs
Inherits EventArgspublic class ResponsiveProfileChangedEventArgs : EventArgspublic class ColorDialog : CommonDialogPublic Class ColorDialog
Inherits CommonDialogPublic Delegate Sub FileDialogLoadPathEventHandler(ByVal sender As [Object], ByVal e As FileDialogLoadPathEventArgs)public delegate void FileDialogLoadPathEventHandler(Object sender, FileDialogLoadPathEventArgs e)Public Delegate Sub AccordionCancelEventHandler(ByVal sender As [Object], ByVal e As AccordionCancelEventArgs)public delegate void AccordionCancelEventHandler(Object sender, AccordionCancelEventArgs e)Wisej.Web.SplitButton
Wisej.Web.KeyEventArgs
Wisej.Web.PreviewKeyDownEventArgs
Wisej.Web.AccordionCancelEventArgs
Wisej.Web.FileDialogUI
Wisej.Web.FolderBrowserDialogUI
Wisej.Web.FileDialogLoadPathEventArgs
Wisej.Web.PaintEventArgs
Wisej.Web.AccordionEventArgs
Wisej.Web.KeyPressEventHandler
Wisej.Web.WidgetEventArgs
Public Class SplitButton
Inherits Buttonpublic class SplitButton : ButtonPublic Class KeyEventArgs
Inherits EventArgspublic class KeyEventArgs : EventArgsPublic Class PreviewKeyDownEventArgs
Inherits EventArgspublic class PreviewKeyDownEventArgs : EventArgsPublic Class AccordionCancelEventArgs
Inherits CancelEventArgspublic class AccordionCancelEventArgs : CancelEventArgspublic class FileDialogUI : FormPublic Class FileDialogUI
Inherits Formpublic class FolderBrowserDialogUI : FormPublic Class FolderBrowserDialogUI
Inherits FormPublic Class FileDialogLoadPathEventArgs
Inherits CancelEventArgspublic class FileDialogLoadPathEventArgs : CancelEventArgsPublic Class PaintEventArgs
Inherits EventArgspublic class PaintEventArgs : EventArgsPublic Class AccordionEventArgs
Inherits EventArgspublic class AccordionEventArgs : EventArgsPublic Delegate Sub KeyPressEventHandler(ByVal sender As [Object], ByVal e As KeyPressEventArgs)public delegate void KeyPressEventHandler(Object sender, KeyPressEventArgs e)Public Class WidgetEventArgs
Inherits EventArgspublic class WidgetEventArgs : EventArgsWisej.Web.OpenFileDialog
Wisej.Core.ClientBrowser
Wisej.Web.DragEventArgs
Wisej.Web.Cursor
Wisej.Web.JavaScript ClientEventCollection
Public Class OpenFileDialog
Inherits FileDialogpublic class OpenFileDialog : FileDialogPublic Class ClientBrowserpublic class ClientBrowser<script>
Wisej.userData = {
value1: 100,
someName: "test"
};
</script>
int value1 = Application.Browser.UserData.value1;
string value2 = Application.Browser.UserData.someName;
Public Class DragEventArgs
Inherits EventArgspublic class DragEventArgs : EventArgsPublic Class Cursorpublic class CursorPublic 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.Button
Wisej.Web.SaveFileDialog
Wisej.Web.FolderBrowserDialog
Wisej.Web.AccordionPanel
Wisej.Web.ResponsiveProfileChangedEventHandler
Wisej.Web.ButtonBase
Wisej.Web.RadioButton
Public Class Button
Inherits ButtonBase
Implements IButtonControl, ICommandSourcepublic class Button : ButtonBase, IButtonControl, ICommandSourcePublic Class SaveFileDialog
Inherits FileDialogpublic class SaveFileDialog : FileDialogPublic Class AccordionPanel
Inherits Panelpublic class AccordionPanel : Panelpublic class ButtonBase : Control,Public Class ButtonBase
Inherits Control
Implements IImagepublic class RadioButton : ButtonBase,Public Class RadioButton
Inherits ButtonBase
Implements IReadOnlyPublic Class FolderBrowserDialog
Inherits CommonDialogpublic class FolderBrowserDialog : CommonDialogWisej.Web.CheckBox
Wisej.Web.Component
Public Class CheckBox
Inherits ButtonBase
Implements IReadOnlypublic class CheckBox : ButtonBase, IReadOnlypublic class Component : Component,Public Class Component
Inherits Component
Implements IComponentWisej.Web.ContainerControl
Wisej.Web.Padding
Public Class ContainerControl
Inherits ScrollableControl
Implements IContainerControl, IContainerControlpublic class ContainerControl : ScrollableControl, IContainerControl, IContainerControlPublic Structure Padding
Implements ValueType, IWisejSerializablepublic struct Padding : ValueType, IWisejSerializableWisej.Core.Configuration
Wisej.Web.FileDialog
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());
}
}
}
}public class FileDialog : CommonDialogPublic Class FileDialog
Inherits CommonDialogWisej.Web.Control ControlCollection
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>, IWisejSynchronizedWisej.Web.Clipboard
public class ClipboardPublic Class ClipboardWisej.Web.Accordion
Public Class Accordion
Inherits Control
Implements ISupportInitializepublic class Accordion : Control, ISupportInitializeWisej.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);// 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 };"
};
Wisej.Web.Accordion PanelCollection
public class PanelCollection : IList,Public Class PanelCollection
Inherits IList
Implements ICollection, IEnumerable, IList(Of AccordionPanel), ICollection(Of AccordionPanel), IEnumerable(Of AccordionPanel)Wisej.Web.DataObject
public class DataObject : IDataObjectPublic Class DataObject
Inherits IDataObjectWisej.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;
}
}