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...
Public Enum PlatformProvider As [Enum]public enum PlatformProvider : EnumPublic Class PinchEventArgs
Inherits EventArgspublic class PinchEventArgs : EventArgsPublic Class ClientCollection
Inherits IList(Of Client)
Implements ICollection(Of Client), IEnumerable(Of Client), IEnumerablepublic class ClientCollection : IList<Client>, ICollection<Client>, IEnumerable<Client>, IEnumerableWisej.Core.LoadConfigurationEventHandler
Wisej.Web.DragEventHandler
Wisej.Web.MenuButtonItemClickedEventHandler
Wisej.Web.TouchEventHandler
Wisej.Web.AccordionEventHandler
Wisej.Web.ControlEventHandler
Wisej.Web.ColorDialog
Public Class ClientBrowserpublic class ClientBrowserPublic Delegate Sub DragEventHandler(ByVal sender As [Object], ByVal e As DragEventArgs)public delegate void DragEventHandler(Object sender, DragEventArgs e)Public Class ResponsiveProfileChangedEventArgs
Inherits EventArgspublic class ResponsiveProfileChangedEventArgs : EventArgsPublic Class HelpEventArgs
Inherits EventArgspublic class HelpEventArgs : EventArgsPublic Class ClientProfilepublic class ClientProfilePublic Class SwipeEventArgs
Inherits EventArgspublic class SwipeEventArgs : EventArgsPublic Delegate Sub HelpEventHandler(ByVal sender As [Object], ByVal hlpevent As HelpEventArgs)public delegate void HelpEventHandler(Object sender, HelpEventArgs hlpevent)Public Class ControlEventArgs
Inherits EventArgspublic class ControlEventArgs : EventArgsPublic Class TrackEventArgs
Inherits EventArgspublic class TrackEventArgs : EventArgsPublic Delegate Sub MenuButtonItemClickedEventHandler(ByVal sender As [Object], ByVal e As MenuButtonItemClickedEventArgs)public delegate void MenuButtonItemClickedEventHandler(Object sender, MenuButtonItemClickedEventArgs e)Public Delegate Sub ResponsiveProfileChangedEventHandler(ByVal sender As [Object], ByVal e As ResponsiveProfileChangedEventArgs)public delegate void ResponsiveProfileChangedEventHandler(Object sender, ResponsiveProfileChangedEventArgs e)Public Delegate Sub FileDialogLoadPathEventHandler(ByVal sender As [Object], ByVal e As FileDialogLoadPathEventArgs)public delegate void FileDialogLoadPathEventHandler(Object sender, FileDialogLoadPathEventArgs e)Public Delegate Sub PaintEventHandler(ByVal sender As [Object], ByVal e As PaintEventArgs)public delegate void PaintEventHandler(Object sender, PaintEventArgs e)Public Class TouchEventArgs
Inherits EventArgspublic class TouchEventArgs : EventArgsPublic Delegate Sub TouchEventHandler(ByVal sender As [Object], ByVal e As TouchEventArgs)public delegate void TouchEventHandler(Object sender, TouchEventArgs e)Public Delegate Sub LayoutEventHandler(ByVal sender As [Object], ByVal e As LayoutEventArgs)public delegate void LayoutEventHandler(Object sender, LayoutEventArgs e)Public Delegate Sub WidgetEventHandler(ByVal sender As [Object], ByVal e As WidgetEventArgs)public delegate void WidgetEventHandler(Object sender, WidgetEventArgs e)Public Delegate Sub ResponsiveProfileChangedEventHandler(ByVal sender As [Object], ByVal e As ResponsiveProfileChangedEventArgs)public delegate void ResponsiveProfileChangedEventHandler(Object sender, ResponsiveProfileChangedEventArgs e)Public Class KeyPressEventArgs
Inherits EventArgspublic class KeyPressEventArgs : EventArgsPublic Enum AccordionAction As [Enum]public enum AccordionAction : EnumPublic Class MenuButtonItemClickedEventArgs
Inherits EventArgspublic class MenuButtonItemClickedEventArgs : EventArgsPublic Delegate Sub KeyPressEventHandler(ByVal sender As [Object], ByVal e As KeyPressEventArgs)public delegate void KeyPressEventHandler(Object sender, KeyPressEventArgs e)Public Delegate Sub AccordionEventHandler(ByVal sender As [Object], ByVal e As AccordionEventArgs)public delegate void AccordionEventHandler(Object sender, AccordionEventArgs e)Public Class ResponsiveProfileChangedEventArgs
Inherits EventArgspublic class ResponsiveProfileChangedEventArgs : EventArgsPublic Delegate Sub TrackEventHandler(ByVal sender As [Object], ByVal e As TrackEventArgs)public delegate void TrackEventHandler(Object sender, TrackEventArgs e)Public Delegate Sub ControlEventHandler(ByVal sender As [Object], ByVal e As ControlEventArgs)public delegate void ControlEventHandler(Object sender, ControlEventArgs e)Public Delegate Sub RotateEventHandler(ByVal sender As [Object], ByVal e As RotateEventArgs)public delegate void RotateEventHandler(Object sender, RotateEventArgs e)Public 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 : CommonDialogPublic Class ColorDialog
Inherits CommonDialogWisej.Web.FolderBrowserDialogUI
Wisej.Web.FileDialogLoadPathEventArgs
Wisej.Web.AccordionEventArgs
Wisej.Web.AccordionCancelEventArgs
Wisej.Web.SplitButton
<script>
Wisej.userData = {
value1: 100,
someName: "test"
};
</script>
int value1 = Application.Browser.UserData.value1;
string value2 = Application.Browser.UserData.someName;
Public Delegate Sub MouseEventHandler(ByVal sender As [Object], ByVal e As MouseEventArgs)public delegate void MouseEventHandler(Object sender, MouseEventArgs e)public class FolderBrowserDialogUI : FormPublic Class FolderBrowserDialogUI
Inherits FormPublic Class PreviewKeyDownEventArgs
Inherits EventArgspublic class PreviewKeyDownEventArgs : EventArgsPublic Class FileDialogLoadPathEventArgs
Inherits CancelEventArgspublic class FileDialogLoadPathEventArgs : CancelEventArgsPublic Class AccordionEventArgs
Inherits EventArgspublic class AccordionEventArgs : EventArgsPublic Class LayoutEventArgs
Inherits EventArgspublic class LayoutEventArgs : EventArgsPublic Class AccordionCancelEventArgs
Inherits CancelEventArgspublic class AccordionCancelEventArgs : CancelEventArgspublic class SplitButton : ButtonPublic Class SplitButton
Inherits ButtonWisej.Web.KeyEventArgs
Public Class OpenFileDialog
Inherits FileDialogpublic class OpenFileDialog : FileDialogWisej.Web.DragEventArgs
public class DragEventArgs : EventArgsPublic Class DragEventArgs
Inherits EventArgsWisej.Web.Cursor
Wisej.Web.JavaScript ClientEventCollection
public class ClientEventCollection : IList, ICollection,Public Class ClientEventCollection
Inherits IList
Implements ICollection, IEnumerable, IList(Of ClientEvent), ICollection(Of ClientEvent), IEnumerable(Of ClientEvent)Wisej.Web.FolderBrowserDialog
Wisej.Web.MouseEventArgs
Wisej.Web.RadioButton
Wisej.Web.Button
Public Class SaveFileDialog
Inherits FileDialogpublic class SaveFileDialog : FileDialogPublic Class FolderBrowserDialog
Inherits CommonDialogpublic class FolderBrowserDialog : CommonDialogPublic Class AccordionPanel
Inherits Panelpublic class AccordionPanel : PanelPublic Class MouseEventArgs
Inherits EventArgspublic class MouseEventArgs : EventArgspublic class RadioButton : ButtonBase, IReadOnlyPublic Class RadioButton
Inherits ButtonBase
Implements IReadOnlypublic class Button : ButtonBase, IButtonControl,Public Class Button
Inherits ButtonBase
Implements IButtonControl, ICommandSourcePublic Delegate Sub QueryContinueDragEventHandler(ByVal sender As [Object], ByVal e As QueryContinueDragEventArgs)public delegate void QueryContinueDragEventHandler(Object sender, QueryContinueDragEventArgs e)Wisej.Web.FileDialogUI
Public Class ButtonBase
Inherits Control
Implements IImagepublic class ButtonBase : Control, IImagePublic Class CheckBox
Inherits ButtonBase
Implements IReadOnlypublic class CheckBox : ButtonBase, IReadOnlypublic class FileDialogUI : FormPublic Class FileDialogUI
Inherits FormWisej.Web.ContainerControl
Wisej.Web.CommonDialog
public class CommonDialog : ComponentPublic Class CommonDialog
Inherits ComponentPublic Class ContainerControl
Inherits ScrollableControl
Implements IContainerControl, IContainerControlpublic class ContainerControl : ScrollableControl, IContainerControl, IContainerControlPublic Class Configurationpublic class ConfigurationWisej.Web.FileDialog
<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
Inherits CommonDialogpublic class FileDialog : CommonDialogWisej.Web.Control ControlCollection
public class ControlCollection : ControlCollection, IList<Public Class ControlCollection
Inherits ControlCollection
Implements IList(Of Control), ICollection(Of Control), IEnumerable(Of Control), IWisejSynchronizedWisej.Web.Accordion
Wisej.Web.Component
Public Class Accordion
Inherits Control
Implements ISupportInitializepublic class Accordion : Control, ISupportInitializePublic Structure Padding
Implements ValueType, IWisejSerializablepublic struct Padding : ValueType, IWisejSerializablepublic class Component : Component, IComponentPublic Class Component
Inherits Component
Implements IComponentWisej.Web.Clipboard
public class ClipboardPublic Class ClipboardWisej.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);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>// 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.DataObject
public class DataObject : IDataObjectPublic Class DataObject
Inherits IDataObjectWisej.Web.Application
public class Application : IWisejComponent, IDisposable,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, IWisejComponent,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;
}
}