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.DataObject
public class DataObject : IDataObjectPublic Class DataObject
Inherits IDataObjectWisej.Web.HashChangedEventArgs
Wisej.Web.HashChangedEventHandler
Wisej.Web.ResponsiveProfileChangedEventArgs
Wisej.Web.ResponsiveProfileChangedEventHandler
Wisej.Web.LicenseErrorEventHandler
Wisej.Web.ControlEventArgs
Wisej.Web.ControlEventHandler
Wisej.Web.DragEventHandler
Wisej.Web.HelpEventArgs
Wisej.Web.HelpEventHandler
Wisej.Web.KeyEventHandler
Wisej.Web.KeyPressEventArgs
Wisej.Web.KeyPressEventHandler
Wisej.Web.LayoutEventHandler
Wisej.Web.PaintEventArgs
Wisej.Web.PaintEventHandler
Wisej.Web.PinchEventHandler
Wisej.Web.PreviewKeyDownEventHandler
Wisej.Web.QueryContinueDragEventHandler
Wisej.Web.QueryContinueDragEventArgs
Wisej.Web.ResponsiveProfileChangedEventArgs
Wisej.Web.ResponsiveProfileChangedEventHandler
Wisej.Web.RotateEventHandler
Wisej.Web.SwipeEventArgs
Wisej.Web.SwipeEventHandler
Wisej.Web.TouchEventArgs
Wisej.Web.TouchEventHandler
Wisej.Web.TrackEventArgs
Wisej.Web.TrackEventHandler
Wisej.Web.WidgetEventArgs
Wisej.Web.WidgetEventHandler
Wisej.Web.MenuButtonItemClickedEventHandler
Wisej.Web.MenuButtonItemClickedEventArgs
Wisej.Web.ColorDialog
Wisej.Web.FileDialogLoadPathEventHandler
Wisej.Web.AccordionAction
Wisej.Web.AccordionEventHandler
Wisej.Web.FileDialogRootCollection
Public Class HashChangedEventArgs
Inherits EventArgspublic class HashChangedEventArgs : EventArgsPublic Delegate Sub HashChangedEventHandler(ByVal sender As [Object], ByVal e As HashChangedEventArgs)public delegate void HashChangedEventHandler(Object sender, HashChangedEventArgs e)Public Class ResponsiveProfileChangedEventArgs
Inherits EventArgspublic class ResponsiveProfileChangedEventArgs : EventArgsPublic Delegate Sub ResponsiveProfileChangedEventHandler(ByVal sender As [Object], ByVal e As ResponsiveProfileChangedEventArgs)public delegate void ResponsiveProfileChangedEventHandler(Object sender, ResponsiveProfileChangedEventArgs e)Public Delegate Sub LicenseErrorEventHandler(ByVal sender As [Object], ByVal e As HashChangedEventArgs)public delegate void LicenseErrorEventHandler(Object sender, HashChangedEventArgs e)Public Class ControlEventArgs
Inherits EventArgspublic class ControlEventArgs : EventArgsPublic Delegate Sub ControlEventHandler(ByVal sender As [Object], ByVal e As ControlEventArgs)public delegate void ControlEventHandler(Object sender, ControlEventArgs e)Public Delegate Sub DragEventHandler(ByVal sender As [Object], ByVal e As DragEventArgs)public delegate void DragEventHandler(Object sender, DragEventArgs e)Public Class HelpEventArgs
Inherits EventArgspublic class HelpEventArgs : EventArgsPublic Delegate Sub HelpEventHandler(ByVal sender As [Object], ByVal hlpevent As HelpEventArgs)public delegate void HelpEventHandler(Object sender, HelpEventArgs hlpevent)Public Delegate Sub KeyEventHandler(ByVal sender As [Object], ByVal e As KeyEventArgs)public delegate void KeyEventHandler(Object sender, KeyEventArgs e)Public Class KeyPressEventArgs
Inherits EventArgspublic class KeyPressEventArgs : EventArgsPublic Delegate Sub KeyPressEventHandler(ByVal sender As [Object], ByVal e As KeyPressEventArgs)public delegate void KeyPressEventHandler(Object sender, KeyPressEventArgs e)Public Delegate Sub LayoutEventHandler(ByVal sender As [Object], ByVal e As LayoutEventArgs)public delegate void LayoutEventHandler(Object sender, LayoutEventArgs e)Public Class PaintEventArgs
Inherits EventArgspublic class PaintEventArgs : EventArgsPublic Delegate Sub PaintEventHandler(ByVal sender As [Object], ByVal e As PaintEventArgs)public delegate void PaintEventHandler(Object sender, PaintEventArgs e)Public Delegate Sub PinchEventHandler(ByVal sender As [Object], ByVal e As PinchEventArgs)public delegate void PinchEventHandler(Object sender, PinchEventArgs e)Public Delegate Sub PreviewKeyDownEventHandler(ByVal sender As [Object], ByVal e As PreviewKeyDownEventArgs)public delegate void PreviewKeyDownEventHandler(Object sender, PreviewKeyDownEventArgs e)Public Delegate Sub QueryContinueDragEventHandler(ByVal sender As [Object], ByVal e As QueryContinueDragEventArgs)public delegate void QueryContinueDragEventHandler(Object sender, QueryContinueDragEventArgs e)Public Class QueryContinueDragEventArgs
Inherits EventArgspublic class QueryContinueDragEventArgs : EventArgsPublic Class ResponsiveProfileChangedEventArgs
Inherits EventArgspublic class ResponsiveProfileChangedEventArgs : EventArgsPublic Delegate Sub ResponsiveProfileChangedEventHandler(ByVal sender As [Object], ByVal e As ResponsiveProfileChangedEventArgs)public delegate void ResponsiveProfileChangedEventHandler(Object sender, ResponsiveProfileChangedEventArgs e)Public Delegate Sub RotateEventHandler(ByVal sender As [Object], ByVal e As RotateEventArgs)public delegate void RotateEventHandler(Object sender, RotateEventArgs e)Public Class SwipeEventArgs
Inherits EventArgspublic class SwipeEventArgs : EventArgsPublic Delegate Sub SwipeEventHandler(ByVal sender As [Object], ByVal e As SwipeEventArgs)public delegate void SwipeEventHandler(Object sender, SwipeEventArgs 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 Class TrackEventArgs
Inherits EventArgspublic class TrackEventArgs : EventArgsPublic Delegate Sub TrackEventHandler(ByVal sender As [Object], ByVal e As TrackEventArgs)public delegate void TrackEventHandler(Object sender, TrackEventArgs e)Public Class WidgetEventArgs
Inherits EventArgspublic class WidgetEventArgs : EventArgsPublic 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 Class MenuButtonItemClickedEventArgs
Inherits EventArgspublic class MenuButtonItemClickedEventArgs : 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 Enum AccordionAction As [Enum]public enum AccordionAction : EnumPublic Delegate Sub AccordionEventHandler(ByVal sender As [Object], ByVal e As AccordionEventArgs)public delegate void AccordionEventHandler(Object sender, AccordionEventArgs e)Public Class FileDialogRootCollection
Inherits List(Of )public class FileDialogRootCollection : List<>Wisej.Web.LayoutEventArgs
Wisej.Web.MouseEventHandler
Wisej.Web.PreviewKeyDownEventArgs
Wisej.Web.SplitButton
Wisej.Web.FileDialogLoadPathEventArgs
Wisej.Web.FileDialogUI
Wisej.Web.FolderBrowserDialogUI
Wisej.Web.AccordionCancelEventArgs
Public Class LayoutEventArgs
Inherits EventArgspublic class LayoutEventArgs : EventArgsPublic Delegate Sub MouseEventHandler(ByVal sender As [Object], ByVal e As MouseEventArgs)public delegate void MouseEventHandler(Object sender, MouseEventArgs e)Public Class PreviewKeyDownEventArgs
Inherits EventArgspublic class PreviewKeyDownEventArgs : EventArgspublic class SplitButton : ButtonPublic Class SplitButton
Inherits ButtonPublic Class FileDialogLoadPathEventArgs
Inherits CancelEventArgspublic class FileDialogLoadPathEventArgs : CancelEventArgspublic class FileDialogUI : FormPublic Class FileDialogUI
Inherits Formpublic class FolderBrowserDialogUI : FormPublic Class FolderBrowserDialogUI
Inherits FormPublic Class AccordionCancelEventArgs
Inherits CancelEventArgspublic class AccordionCancelEventArgs : CancelEventArgsWisej.Web.OpenFileDialog
public class OpenFileDialog : FileDialogPublic Class OpenFileDialog
Inherits FileDialogWisej.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.SaveFileDialog
Wisej.Web.AccordionPanel
Wisej.Core.ClientBrowser
Wisej.Web.DragEventArgs
Wisej.Web.MouseEventArgs
Wisej.Web.Button
Wisej.Web.RadioButton
Public Class SaveFileDialog
Inherits FileDialogpublic class SaveFileDialog : FileDialogPublic Class AccordionPanel
Inherits Panelpublic class AccordionPanel : PanelPublic 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 MouseEventArgs
Inherits EventArgspublic class MouseEventArgs : EventArgspublic class Button : ButtonBase, IButtonControl,Public Class Button
Inherits ButtonBase
Implements IButtonControl, ICommandSourcepublic class RadioButton : ButtonBase, IReadOnlyPublic Class RadioButton
Inherits ButtonBase
Implements IReadOnlyPublic Class FolderBrowserDialog
Inherits CommonDialogpublic class FolderBrowserDialog : CommonDialogWisej.Web.CheckBox
Wisej.Web.ButtonBase
Public Class CheckBox
Inherits ButtonBase
Implements IReadOnlypublic class CheckBox : ButtonBase, IReadOnlypublic class ButtonBase : Control, IImagePublic Class ButtonBase
Inherits Control
Implements IImageWisej.Web.Component
Wisej.Web.ContainerControl
Wisej.Web.Padding
Public Class Component
Inherits Component
Implements IComponentpublic class Component : Component, IComponentPublic Class ContainerControl
Inherits ScrollableControl
Implements IContainerControl, IContainerControlpublic class ContainerControl : ScrollableControl, IContainerControl, IContainerControlPublic Structure Padding
Implements ValueType, IWisejSerializablepublic struct Padding : ValueType, IWisejSerializableWisej.Web.FileDialog
Public Class FileDialog
Inherits CommonDialogpublic class FileDialog : CommonDialog <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
public class ControlCollection : ControlCollection, IList<Public Class ControlCollection
Inherits ControlCollection
Implements IList(Of Control), ICollection(Of Control), IEnumerable(Of Control), IWisejSynchronizedWisej.Web.Accordion
Public Class Accordion
Inherits Control
Implements ISupportInitializepublic class Accordion : Control, ISupportInitializeWisej.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);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
Inherits IWisejComponent
Implements IDisposable, IWisejSynchronized, IServiceProviderpublic class Application : IWisejComponent, 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;
}
}