Search Results

Search found 12759 results on 511 pages for 'keyboard events'.

Page 189/511 | < Previous Page | 185 186 187 188 189 190 191 192 193 194 195 196  | Next Page >

  • #altnetseattle &ndash; CQRS

    - by GeekAgilistMercenary
    This is a topic I know nothing about, and thus, may be supremely disparate notes.  Have fun translating.  : )   . . .and coolness that the session is well past capacity. Separates things form the UI and everything that needs populated is done through commands.  The domain and reports have separate storage. Events populate these stores of data, such as "sold event". What it looks like, is that the domain controls the requests by event, which would be a product order or something similar. Event sourcing is a key element of the logic. DDD (Domain Driven Design) is part of the core basis for this methodology/structure. The architecture/methodology/structure is perfect for blade style plugin hardware as needed. Good blog entry DDDD: Why I love CQRS and another Command and Query Responsibility Segregation (CQRS), more, CQRS à la Greg Young, a bit by Udi Dahan and there are more.  Google, Bing, etc are there for a reason. It appears the core underpinning architectural element of this is the break out of unique identifiable actions, or I suppose better described as events.  Those events then act upon specific pipelines such as read requests, write requests, etc.  I will be doing more research on this topic and will have something written up shortly.  At this time it seems like nothing new, just a large architectural break out of identifiable needs of the entire enterprise system.  The reporting is in one segment of the architecture, the domain is in another, hydration broken out to interfaces, and events are executed to incur events on the Reports, or what appears by the description to be events on the domain. Anyway, more to come on this later.

    Read the article

  • How do I apply an arcball (using quaternions) along with mouse events, to allow the user to look around the screen using the o3d webgl framework?

    - by Chris
    How do I apply an arcball (using quaternions) along with mouse events, to allow the user to look around the screen using the o3d webgl framework? This sample (http://code.google.com/p/o3d/source/browse/trunk/samples_webgl/o3d-webgl-samples/simpleviewer/simpleviewer.html?r=215) uses the arcball for rotating the transform of an "object", but rather than apply this to a transform, I would like to apply the rotation to the camera's target, to create a first person style ability to look around the scene, as if the camera is inside the centre of the arcball instead of rotating from the outside. The code that is used in this sample is var rotationQuat = g_aball.drag([e.x, e.y]); var rot_mat = g_quaternions.quaternionToRotation(rotationQuat); g_thisRot = g_math.matrix4.mul(g_lastRot, rot_mat); The code that I am using which doesn't work var rotationQuat = g_aball.drag([e.x, e.y]); var rot_mat = g_quaternions.quaternionToRotation(rotationQuat); g_thisRot = g_math.matrix4.mul(g_lastRot, rot_mat); var cameraRotationMatrix4 = g_math.matrix4.lookAt(g_eye, g_target, [g_up[0], g_up[1] * -1, g_up[2]]); var cameraRotation = g_math.matrix4.setUpper3x3(cameraRotationMatrix4,g_thisRot); g_target = g_math.addVector(cameraRotation, g_target); where am I going wrong? Thanks

    Read the article

  • ?????????????:3?15?~17?

    - by Yusuke.Yamamoto
    2011?3?15?~2011?3?17?????????????????(Oracle Direct Seminar)?????????????????????????????????????????????????????????????????? ?????????????????????????????? ?????????????????????????????????????????????OTN???? ?????? ????? ?????????????? ????????????? ?OTN???? ?????? ????? http://www.oracle.com/technetwork/jp/ondemand/db-basic/index.html ??????????????????????????????? 3/15 11:00~:???!?????????????????? http://eventreg.oracle.com/webapps/events/ns/EventsDetail.jsp?p_eventId=124542&src=7013395&src=7013395&Act=388 3/15 15:00~:????????! ?????????????? http://eventreg.oracle.com/webapps/events/ns/EventsDetail.jsp?p_eventId=124543&src=7013395&src=7013395&Act=389 3/16 11:00~:?ORACLE MASTER [Bronze DBA11g] ? http://eventreg.oracle.com/webapps/events/ns/EventsDetail.jsp?p_eventId=124572&src=7013395&src=7013395&Act=391 3/16 15:00~:?Oracle Database???????XML?????? http://eventreg.oracle.com/webapps/events/ns/EventsDetail.jsp?p_eventId=124573&src=7013395&src=7013395&Act=392 3/17 11:00~:?????????·?????????????GoldenGate? http://eventreg.oracle.com/webapps/events/ns/EventsDetail.jsp?p_eventId=124574&src=7013395&src=7013395&Act=393 3/17 15:00~:???????!Web????????/?????????????? http://eventreg.oracle.com/webapps/events/ns/EventsDetail.jsp?p_eventId=124578&src=7013395&src=7013395&Act=395 ?????????? Oracle Direct Seminar??? [email protected]

    Read the article

  • How To Raise Property Changed events on a Dependency Property?

    - by Muad'Dib
    OK, so I have this control with two properties. One of these is a DependencyProperty, the other is an "alias" to the first one. What I need to be able to do is raise the PropertyChanged event for the second one (the alias) when the first one is changed. NOTE: I am using DependencyObjects, not INotifyPropertyChanged (tried that, didn't work because my control is a sub-classed ListView) something like this..... protected override void OnPropertyChanged(DependencyPropertyChangedEventArgs e) { base.OnPropertyChanged(e); if (e.Property == MyFirstProperty) { RaiseAnEvent( MySecondProperty ); /// what is the code that would go here? } } If I were using an INotify I could do like this... public string SecondProperty { get { return this.m_IconPath; } } public string IconPath { get { return this.m_IconPath; } set { if (this.m_IconPath != value) { this.m_IconPath = value; this.SendPropertyChanged("IconPath"); this.SendPropertyChanged("SecondProperty"); } } } where I can raise PropertyChanged events on multiple properties from one setter. I need to be able to do the same thing, only using DependencyProperties.

    Read the article

  • Backend raising (INotify)PropertyChanged events to all connected clients?

    - by Jörg Battermann
    One of our 'frontend' developers keeps requesting from us backend developers that the backend notifies all connected clients (it's a client/server environment) of changes to objects. As in: whenever one user makes a change, all other connected clients must be notified immediately of the change. At the moment our architecture does not have a notification system of that kind and we don't have a sort of pub/sub model for explicitly chosen objects (e.g. the one the frontend is currently implementing).. which would make sense in such a usecase imho, but obviously requires extra implementation. However, I thought frontends typically check for locks for concurrently existing user changes on the same object and rather pull for changes / load on demand and in the background rather than the backend pushing all changes to all clients for all objects constantly.. which seems rather excessive to me. However, it's being argumented that e.g. the MS Entity Framework does in fact publish (INotify)PropertyChanged not only for local changes, but for all such changes including other client connections, but I have found no proof or details regarding this. Can anyone shed some light into this? Do other e.g. ORMs etc provide broadcasted (INotify)PropertyChanged events on entities?

    Read the article

  • How can I handle events within my custom control?

    - by highone
    I am not looking to create new events. I need to create a canvas control that optionally fades in or out depending on whether or not the mouse is over it. The code below probably explains what I want to do better than I can. private Storyboard fadeInStoryboard; private Storyboard fadeOutStoryboard; public FadingOptionPanel() { InitializeComponent(); } public static readonly DependencyProperty FadeEnabledProperty = DependencyProperty.Register("IsFadeEnabled", typeof(bool), typeof(FadingOptionPanel), new FrameworkPropertyMetadata(true, OnFadeEnabledPropertyChanged, OnCoerceFadeEnabledProperty)); public bool IsFadeEnabled { get { return (bool)GetValue(FadeEnabledProperty); } set { SetValue(FadeEnabledProperty, value); } } private static void OnFadeEnabledPropertyChanged(DependencyObject source, DependencyPropertyChangedEventArgs e) { } private static object OnCoerceFadeEnabledProperty(DependencyObject sender, object data) { if (data.GetType() != typeof(bool)) { data = true; } return data; } private void FadingOptionPanel_MouseEnter(object sender, MouseEventArgs e) { if (IsFadeEnabled) { fadeInStoryboard.Begin(this); } } private void FadingOptionPanel_MouseLeave(object sender, MouseEventArgs e) { if (IsFadeEnabled) { fadeOutStoryboard.Begin(this); } } private void FadingOptionsPanel_Loaded(object sender, RoutedEventArgs e) { //Initialize Fade In Animation DoubleAnimation fadeInDoubleAnimation = new DoubleAnimation(); fadeInDoubleAnimation.From = 0; fadeInDoubleAnimation.To = 1; fadeInDoubleAnimation.Duration = new Duration(TimeSpan.FromSeconds(.5)); fadeInStoryboard = new Storyboard(); fadeInStoryboard.Children.Add(fadeInDoubleAnimation); Storyboard.SetTargetName(fadeInDoubleAnimation, this.Name); Storyboard.SetTargetProperty(fadeInDoubleAnimation, new PropertyPath(Canvas.OpacityProperty)); //Initialize Fade Out Animation DoubleAnimation fadeOutDoubleAnimation = new DoubleAnimation(); fadeOutDoubleAnimation.From = 1; fadeOutDoubleAnimation.To = 0; fadeOutDoubleAnimation.Duration = new Duration(TimeSpan.FromSeconds(.2)); fadeOutStoryboard = new Storyboard(); fadeOutStoryboard.Children.Add(fadeOutDoubleAnimation); Storyboard.SetTargetName(fadeOutDoubleAnimation, this.Name); Storyboard.SetTargetProperty(fadeOutDoubleAnimation, new PropertyPath(Canvas.OpacityProperty)); } I originally was using this code inside a usercontrol instead of a custom control before I found out that usercontrols don't support content.

    Read the article

  • Best XML format for log events in terms of tool support for data mining and visualization?

    - by Thorbjørn Ravn Andersen
    We want to be able to create log files from our Java application which is suited for later processing by tools to help investigate bugs and gather performance statistics. Currently we use the traditional "log stuff which may or may not be flattened into text form and appended to a log file", but this works the best for small amounts of information read by a human. After careful consideration the best bet has been to store the log events as XML snippets in text files (which is then treated like any other log file), and then download them to the machine with the appropriate tool for post processing. I'd like to use as widely supported an XML format as possible, and right now I am in the "research-then-make-decision" phase. I'd appreciate any help both in terms of XML format and tools and I'd be happy to write glue code to get what I need. What I've found so far: log4j XML format: Supported by chainsaw and Vigilog. Lilith XML format: Supported by Lilith Uninvestigated tools: Microsoft Log Parser: Apparently supports XML. OS X log viewer: plus there is a lot of tools on http://www.loganalysis.org/sections/parsing/generic-log-parsers/ Any suggestions?

    Read the article

  • jQuery: Targeting elements added via *non-jQuery* AJAX before any Javascript events fire? Beyond th

    - by peteorpeter
    Working on a Wicket application that adds markup to the DOM after onLoad via Wicket's built-in AJAX for an auto-complete widget. We have an IE6 glitch that means I need to reposition the markup coming in, and I am trying to avoid tampering with the Wicket javascript... blah blah blah... here's what I'm trying to do: New markup arrives in the DOM (I don't have access to a callback) Somehow I know this, so I fire my code. I tried this, hoping the new tags would trigger onLoad events: $("selectorForNewMarkup").live("onLoad", function(){ //using jQuery 1.4.1 //my code }); ...but have become educated that onLoad only fires on the initial page load. Is there another event fired when elements are added to the DOM? Or another way to sense changes to the DOM? Everything I've bumped into on similar issues with new markup additions, they have access to the callback function on .load() or similar, or they have a real javascript event to work with and live() works perfectly. Is this a pipe dream?

    Read the article

  • How do I trace SQL Server Failure Audit events?

    - by Tim Perry
    I recently took over management of a Windows 2003 server. The application log is being filled up with messages like these: Event Type: Failure Audit Event Source: MSSQLSERVER Event Category: (4) Event ID: 18456 Date: 3/5/2010 Time: 4:00:30 PM User: N/A Computer: FAIROAKS1 Description: Login failed for user 'administrator'. [CLIENT: <local machine>] Data: 0000: 18 48 00 00 0e 00 00 00 .H...... 0008: 0a 00 00 00 46 00 41 00 ....F.A. 0010: 49 00 52 00 4f 00 41 00 I.R.O.A. 0018: 4b 00 53 00 31 00 00 00 K.S.1... 0020: 07 00 00 00 6d 00 61 00 ....m.a. 0028: 73 00 74 00 65 00 72 00 s.t.e.r. 0030: 00 00 .. For more information, see Help and Support Center at http://go.microsoft.com/fwlink/events.asp. I'd like to figure out what program is causing these. Is there a way to trace and find out which process is causing these errors?

    Read the article

  • Intercepting mouse events using a global hook. Stop an action from happening.

    - by fMinkel
    I'm attempting to intercept and interrupt mouse events. Lets say I wanted to disable the right mouse button down event, or even the mouse move event. I haven't been able to figure out the interrupting part. I am using the (I assume pretty widely used) following code for Global Hooking of the mouse. Private Structure MSLLHOOKSTRUCT Public pt As Point Public mouseData As Int32 Public flags As Int32 Public time As Int32 Public extra As IntPtr End Structure Private _mouseHook As IntPtr Private Const WH_MOUSE_LL As Int32 = 14 Private Delegate Function MouseHookDelegate(ByVal nCode As Int32, ByVal wParam As IntPtr, ByRef lParam As MSLLHOOKSTRUCT) As Int32 <MarshalAs(UnmanagedType.FunctionPtr)> Private _mouseProc As MouseHookDelegate Private Declare Function SetWindowsHookExW Lib "user32.dll" (ByVal idHook As Int32, ByVal HookProc As MouseHookDelegate, ByVal hInstance As IntPtr, ByVal wParam As Int32) As IntPtr Private Declare Function UnhookWindowsHookEx Lib "user32.dll" (ByVal hook As IntPtr) As Boolean Private Declare Function CallNextHookEx Lib "user32.dll" (ByVal idHook As Int32, ByVal nCode As Int32, ByVal wParam As IntPtr, ByRef lParam As MSLLHOOKSTRUCT) As Int32 Private Declare Function GetCurrentThreadId Lib "kernel32.dll" () As Integer Private Declare Function GetModuleHandleW Lib "kernel32.dll" (ByVal fakezero As IntPtr) As IntPtr Public Function HookMouse() As Boolean Debug.Print("Mouse Hooked") If _mouseHook = IntPtr.Zero Then _mouseProc = New MouseHookDelegate(AddressOf MouseHookProc) _mouseHook = SetWindowsHookExW(WH_MOUSE_LL, _mouseProc, GetModuleHandleW(IntPtr.Zero), 0) End If Return _mouseHook <> IntPtr.Zero End Function Public Sub UnHookMouse() Debug.Print("Mouse UnHooked") If _mouseHook = IntPtr.Zero Then Return UnhookWindowsHookEx(_mouseHook) _mouseHook = IntPtr.Zero End Sub Private Function MouseHookProc(ByVal nCode As Int32, ByVal wParam As IntPtr, ByRef lParam As MSLLHOOKSTRUCT) As Int32 'Debug.Print("Message = {0}, x={1}, y={2}", wParam.ToInt32, lParam.pt.X, lParam.pt.Y) If wParam.ToInt32 = 513 Then '''interrupt the left mouse button event here, but don't know what to return to do so. End If Return CallNextHookEx(WH_MOUSE_LL, nCode, wParam, lParam) End Function

    Read the article

  • How to code a keyboard button to switch between 2 modes?

    - by le.shep20
    Hi! i'm doing a project, i'm not going to details but i will simplify my idea, i'm using Morse Code ( dot and dash) and i have 2 methods: convert_MorseToChar() and Convert_MorseTonum() in the convert_MorseToChar() method there is swich to compare the input from a user which will be Morse codes and mapping it to characters: private String convert_MorseToChar(ref string Ch) { switch (Ch) { Case ".-": MorsetoChar = "a" break; Case "-...": MorsetoChar = "b" break; Case "-.-.": MorsetoChar = "c" break; Case "-..": MorsetoChar = "d" break; Case ".": MorsetoChar = "e" break; } } and the other method Convert_MorseToNum(), ues the SAME combinations of Morse codes but mapping them to numbers: private String Convert_MorseToNum(ref string Ch) { switch (Ch) { Case ".-": MorsetoChar = "1" break; Case "-...": MorsetoChar = "2" break; Case "-.-.": MorsetoChar = "3" break; Case "-..": MorsetoChar = "4" break; Case ".": MorsetoChar = "5" break; } } now the senario is: there are 2 Textbox, one the user will write Morse codes in it and the other is for the output. The user will write dot "." and dash "-" from the keyboard and press Enter then the program will go to ONE of the 2 methods to convert the Morse codes. Now what tells the program where to go to convert?? my question is: I want to create mode key to swich between 2 modes: MorseTochar and MorseToNum. i want the down arrow key to act like a mode, when a user press the down arrow then it the program will be in MorseToChar mode, when ever the user input the program directly use the method convert_MorseToChar to convert to characters. and when the user press the down arrow agian, the prohram will swich to MorseToNum mode here when ever the user input as morsecode, the program will directly use the method Convert_MorseToNum() to convert to numbers. HOW I CAN DO THAT Pleaaaas!!! help me! Please excuse my English, English is not my native language :)

    Read the article

  • Ldap ssh authentication is super slow... any way to speed it up?

    - by Johnathon
    I am running OpenSUSE. Here is the output of ssh -vvv: OpenSSH_5.8p1, OpenSSL 1.0.0c 2 Dec 2010 debug1: Reading configuration data /etc/ssh/ssh_config debug1: Applying options for * debug2: ssh_connect: needpriv 0 debug1: Connecting to <ipaddress> [ipaddress] port 22. debug1: Connection established. debug1: permanently_set_uid: 0/0 debug3: Incorrect RSA1 identifier debug3: Could not load "/root/.ssh/id_rsa" as a RSA1 public key debug2: key_type_from_name: unknown key type '-----BEGIN' debug3: key_read: missing keytype debug3: key_read: missing whitespace debug3: key_read: missing whitespace debug3: key_read: missing whitespace debug3: key_read: missing whitespace debug3: key_read: missing whitespace debug3: key_read: missing whitespace debug3: key_read: missing whitespace debug3: key_read: missing whitespace debug3: key_read: missing whitespace debug3: key_read: missing whitespace debug3: key_read: missing whitespace debug3: key_read: missing whitespace debug3: key_read: missing whitespace debug3: key_read: missing whitespace debug3: key_read: missing whitespace debug3: key_read: missing whitespace debug3: key_read: missing whitespace debug3: key_read: missing whitespace debug3: key_read: missing whitespace debug3: key_read: missing whitespace debug3: key_read: missing whitespace debug3: key_read: missing whitespace debug3: key_read: missing whitespace debug3: key_read: missing whitespace debug3: key_read: missing whitespace debug2: key_type_from_name: unknown key type '-----END' debug3: key_read: missing keytype debug1: identity file /root/.ssh/id_rsa type 1 debug1: identity file /root/.ssh/id_rsa-cert type -1 debug1: identity file /root/.ssh/id_dsa type -1 debug1: identity file /root/.ssh/id_dsa-cert type -1 debug1: identity file /root/.ssh/id_ecdsa type -1 debug1: identity file /root/.ssh/id_ecdsa-cert type -1 debug1: Remote protocol version 2.0, remote software version OpenSSH_5.1 debug1: match: OpenSSH_5.1 pat OpenSSH* debug1: Enabling compatibility mode for protocol 2.0 debug1: Local version string SSH-2.0-OpenSSH_5.8 debug2: fd 3 setting O_NONBLOCK debug3: load_hostkeys: loading entries for host "ipaddress" from file "/root/.ssh/known_hosts" debug3: load_hostkeys: found key type RSA in file /root/.ssh/known_hosts:4 debug3: load_hostkeys: loaded 1 keys debug3: order_hostkeyalgs: prefer hostkeyalgs: [email protected],[email protected],ssh-rsa debug1: SSH2_MSG_KEXINIT sent debug1: SSH2_MSG_KEXINIT received debug2: kex_parse_kexinit: ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group-exchange-sha1,diffie-hellman-group14-sha1,diffie-hellman-group1-sha1 debug2: kex_parse_kexinit: [email protected],[email protected],ssh-rsa,[email protected],[email protected],[email protected],[email protected],[email protected],ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,ssh-dss debug2: kex_parse_kexinit: aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,aes192-cbc,aes256-cbc,arcfour,[email protected] debug2: kex_parse_kexinit: aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,aes192-cbc,aes256-cbc,arcfour,[email protected] debug2: kex_parse_kexinit: hmac-md5,hmac-sha1,[email protected],hmac-ripemd160,[email protected],hmac-sha1-96,hmac-md5-96 debug2: kex_parse_kexinit: hmac-md5,hmac-sha1,[email protected],hmac-ripemd160,[email protected],hmac-sha1-96,hmac-md5-96 debug2: kex_parse_kexinit: none,[email protected],zlib debug2: kex_parse_kexinit: none,[email protected],zlib debug2: kex_parse_kexinit: debug2: kex_parse_kexinit: debug2: kex_parse_kexinit: first_kex_follows 0 debug2: kex_parse_kexinit: reserved 0 debug2: kex_parse_kexinit: diffie-hellman-group-exchange-sha256,diffie-hellman-group-exchange-sha1,diffie-hellman-group14-sha1,diffie-hellman-group1-sha1 debug2: kex_parse_kexinit: ssh-rsa,ssh-dss debug2: kex_parse_kexinit: aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,arcfour128,arcfour256,arcfour,aes192-cbc,aes256-cbc,[email protected],aes128-ctr,aes192-ctr,aes256-ctr debug2: kex_parse_kexinit: aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,arcfour128,arcfour256,arcfour,aes192-cbc,aes256-cbc,[email protected],aes128-ctr,aes192-ctr,aes256-ctr debug2: kex_parse_kexinit: hmac-md5,hmac-sha1,[email protected],hmac-ripemd160,[email protected],hmac-sha1-96,hmac-md5-96 debug2: kex_parse_kexinit: hmac-md5,hmac-sha1,[email protected],hmac-ripemd160,[email protected],hmac-sha1-96,hmac-md5-96 debug2: kex_parse_kexinit: none,[email protected] debug2: kex_parse_kexinit: none,[email protected] debug2: kex_parse_kexinit: debug2: kex_parse_kexinit: debug2: kex_parse_kexinit: first_kex_follows 0 debug2: kex_parse_kexinit: reserved 0 debug2: mac_setup: found hmac-md5 debug1: kex: server->client aes128-ctr hmac-md5 none debug2: mac_setup: found hmac-md5 debug1: kex: client->server aes128-ctr hmac-md5 none debug1: SSH2_MSG_KEX_DH_GEX_REQUEST(1024<1024<8192) sent debug1: expecting SSH2_MSG_KEX_DH_GEX_GROUP debug2: dh_gen_key: priv key bits set: 138/256 debug2: bits set: 529/1024 debug1: SSH2_MSG_KEX_DH_GEX_INIT sent debug1: expecting SSH2_MSG_KEX_DH_GEX_REPLY debug1: Server host key: RSA cb:7f:ff:2e:65:28:f0:95:e6:8a:71:24:2a:67:02:2b debug3: load_hostkeys: loading entries for host "<ipaddress>" from file "/root/.ssh/known_hosts" debug3: load_hostkeys: found key type RSA in file /root/.ssh/known_hosts:4 debug3: load_hostkeys: loaded 1 keys debug1: Host '<ipaddress>' is known and matches the RSA host key. debug1: Found key in /root/.ssh/known_hosts:4 debug2: bits set: 504/1024 debug1: ssh_rsa_verify: signature correct debug2: kex_derive_keys debug2: set_newkeys: mode 1 debug1: SSH2_MSG_NEWKEYS sent debug1: expecting SSH2_MSG_NEWKEYS debug2: set_newkeys: mode 0 debug1: SSH2_MSG_NEWKEYS received debug1: Roaming not allowed by server debug1: SSH2_MSG_SERVICE_REQUEST sent debug2: service_accept: ssh-userauth debug1: SSH2_MSG_SERVICE_ACCEPT received debug2: key: /root/.ssh/id_rsa (0xb789d5c8) debug2: key: /root/.ssh/id_dsa ((nil)) debug2: key: /root/.ssh/id_ecdsa ((nil)) debug1: Authentications that can continue: publickey,keyboard-interactive debug3: start over, passed a different list publickey,keyboard-interactive debug3: preferred publickey,keyboard-interactive,password debug3: authmethod_lookup publickey debug3: remaining preferred: keyboard-interactive,password debug3: authmethod_is_enabled publickey debug1: Next authentication method: publickey debug1: Offering RSA public key: /root/.ssh/id_rsa debug3: send_pubkey_test debug2: we sent a publickey packet, wait for reply It hangs here for a good 30 seconds to a minute then debug1: Authentications that can continue: publickey,keyboard-interactive debug1: Trying private key: /root/.ssh/id_dsa debug3: no such identity: /root/.ssh/id_dsa debug1: Trying private key: /root/.ssh/id_ecdsa debug3: no such identity: /root/.ssh/id_ecdsa debug2: we did not send a packet, disable method debug3: authmethod_lookup keyboard-interactive debug3: remaining preferred: password debug3: authmethod_is_enabled keyboard-interactive debug1: Next authentication method: keyboard-interactive debug2: userauth_kbdint debug2: we sent a keyboard-interactive packet, wait for reply debug2: input_userauth_info_req debug2: input_userauth_info_req: num_prompts 1 I added PubkeyAuthentication no to the /etc/ssh/ssh_config and the /etc/ssh/sshd_config which makes it faster getting to the password prompt, but the password prompt still takes some time. Any way to fix that? Here is where the password hangs debug3: packet_send2: adding 32 (len 25 padlen 7 extra_pad 64) debug2: input_userauth_info_req debug2: input_userauth_info_req: num_prompts 0 debug3: packet_send2: adding 48 (len 10 padlen 6 extra_pad 64) debug1: Authentication succeeded (keyboard-interactive). Authenticated to ipaddress ([ipaddress]:22). debug1: channel 0: new [client-session] debug3: ssh_session2_open: channel_new: 0 debug2: channel 0: send open debug1: Requesting [email protected] debug1: Entering interactive session. FIXED!!!!!!!!!!!!!! What is did... In the nsswitch_conf I had ldap included in the group and passwd which slows it down a lot. Thank you everybody for your input passwd: compat group: files hosts: files dns networks: files dns

    Read the article

  • Mouse not working after upgrade

    - by Gaz
    After upgrade from 12.4 to 13.4 my usb mouse does not respond. Unlike similar posts my keyboard works (Alt + Tab, num loc etc) which means I can enter password and still log into desktop but still with no mouse support. I have tried other usb and PS2 mice (Logitech and Microsoft mouse) that are working on other Systems with no success. When running "xsetpointer -1 | grep Pointer" in terminal window as per post USB Mouse not recognized it shows no mouse installed. When the mouse is plugged in the light under mouse illuminates so their is power to mouse. In KDE by using the keyboard I was able to turn on "Move pointer with keyboard (using num pad)" from the "Mouse - KDE Control Module" which allowed me to move the mouse pointer using the keyboard. Without complete reinstall how do I get mouse working again?

    Read the article

  • Can I switch input methods while Caps Lock is being held down on Windows?

    - by Syzygy
    On my Linux computer, my keyboard switches from English to Serbian when I hold the Caps Lock key. For example, to write c all I have to do is hold Caps Lock, and press the key where c is on the Serbian keyboard (in this case, they key is ; on the English keyboard). When I release Caps Lock, the keyboard "switches back" to English, so that if I press ; I get ; as desired. Super useful. Please note that I know how to change the keyboard layout. I want to use Caps Lock as a modifier key to change the language only while being held down! Is there a way to replicate this behavior on Windows 7 or Windows 8?

    Read the article

  • SFML fail to load image as texture

    - by zyeek
    I have come to a problem with the code below ... Using SFML 2.0 #include <SFML/Graphics.hpp> #include <iostream> #include <list> int main() { float speed = 5.0f; // create the window sf::RenderWindow window(sf::VideoMode(sf::VideoMode::getDesktopMode().height - 300, 800), "Bricks"); // Set game window position on the screen window.setPosition( sf::Vector2i(sf::VideoMode::getDesktopMode().width/4 + sf::VideoMode::getDesktopMode().width/16 , 0) ); // Allow library to accept repeatitive key presses (i.e. holding key) window.setKeyRepeatEnabled(true); // Hide mouse cursor //window.setMouseCursorVisible(false); // Limit 30 frames per sec; the minimum for all games window.setFramerateLimit(30); sf::Texture texture; if (!texture.loadFromFile("tile.png", sf::IntRect(0, 0, 125, 32))) { std::cout<<"Could not load image\n"; return -1; } // Empty list of sprites std::list<sf::Sprite> spriteContainer; bool gameFocus = true; // run the program as long as the window is open while (window.isOpen()) { sf::Vector2i mousePos = sf::Mouse::getPosition(window); // check all the window's events that were triggered since the last iteration of the loop sf::Event event; while (window.pollEvent(event)) { float offsetX = 0.0f, offsetY = 0.0f; if(event.type == sf::Event::GainedFocus) gameFocus = !gameFocus; else if(event.type == sf::Event::LostFocus) gameFocus = !gameFocus; if(event.type == sf::Event::KeyPressed) { if (event.key.code == sf::Keyboard::Space) { if(gameFocus) { // Create sprite and add features before putting it into container sf::Sprite sprite(texture); sprite.scale(.9f,.7f); sf::Vector2u textSize = texture.getSize(); sprite.setPosition(sf::Vector2f(mousePos.x-textSize.x/2.0f, mousePos.y - textSize.y/2.0f)); spriteContainer.push_front(sprite); } } if(event.key.code == sf::Keyboard::P) std::cout << spriteContainer.size() << std::endl; if( event.key.code == sf::Keyboard::W ) offsetY -= speed; if( event.key.code == sf::Keyboard::A ) offsetX -= speed; if( event.key.code == sf::Keyboard::S ) offsetY += speed; if( event.key.code == sf::Keyboard::D ) offsetX += speed; } // "close requested" event: we close the window if (event.type == sf::Event::Closed || event.key.code == sf::Keyboard::Escape) window.close(); // Move all sprites synchronously for (std::list<sf::Sprite>::iterator sprite = spriteContainer.begin(); sprite != spriteContainer.end(); ++sprite) sprite->move(offsetX, offsetY); //sprite.move(offsetX,offsetY); } // clear the window with black color window.clear(sf::Color::Black); // draw everything here... // window.draw(...); // Draw all sprites in the container for (std::list<sf::Sprite>::iterator sprite = spriteContainer.begin(); sprite != spriteContainer.end(); ++sprite) window.draw(*sprite); // end the current frame window.display(); } return 0; } A couple weeks ago it worked flawlessly to my expectation, but now that I come back to it and I am having problems importing the image as a texture "tile.png". I don't understand why this is evening happening and the only message I get via the terminal is "Cannot load image ..." then a bunch of random characters. My libraries are for sure working, but now I am not sure why the image is not loading. My image is in the same directory as with my .h and .cpp files. This is an irritating problem that keep coming up for some reason and is always a problem to fix it. I import my libraries via my own directory "locals" which contain many APIs, but I specifically get SFML, and done appropriately as I am able to open a window and many other stuff.

    Read the article

  • Proper binding data to combobox and handling its events.

    - by Wodzu
    Hi guys. I have a table in SQL Server which looks like this: ID Code Name Surname 1 MS Mike Smith 2 JD John Doe 3 UP Unknown Person and so on... Now I want to bind the data from this table into the ComboBox in a way that in the ComboBox I have displayed value from the Code column. I am doing the binding in this way: SqlDataAdapter sqlAdapter = new SqlDataAdapter("SELECT * FROM dbo.Users ORDER BY Code", MainConnection); sqlAdapter.Fill(dsUsers, "Users"); cbxUsers.DataSource = dsUsers.Tables["Users"]; cmUsers = (CurrencyManager)cbxUsers.BindingContext[dsUsers.Tables["Users"]]; cbxUsers.DisplayMember = "Code"; And this code seems to work. I can scroll through the list of Codes. Also I can start to write code by hand and ComboBox will autocomplete the code for me. However, I wanted to put a label at the top of the combobox to display Name and Surname of the currently selected user code. My line of though was like that: "So, I need to find an event which will fire up after the change of code in combobox and in that event I will get the current DataRow..." I was browsing through the events of combobox, tried many of them but without a success. For example: private void cbxUsers_SelectionChangeCommitted(object sender, EventArgs e) { if (cmUsers != null) { DataRowView drvCurrentRowView = (DataRowView)cmUsers.Current; DataRow drCurrentRow = drvCurrentRowView.Row; lblNameSurname.Text = Convert.ToString(drCurrentRow["Name"]) + " " + Convert.ToString(drCurrentRow["Surname"]); } } This give me a strange results. Firstly when I scroll via mouse scroll it doesn't return me the row wich I am expecting to obtain. For example on JD it shows me "Mike Smith", on MS it shows me "John Doe" and on UP it shows me "Mike Smith" again! The other problem is that when I start to type in ComboBox and press enter it doesn't trigger the event. However, everything works as expected when I bind data to lblNameSurname.Text in this way: lblNameSurname.DataBindings.Add("Text", dsusers.Tables["Users"], "Name"); The problem here is that I can bind only one column and I want to have two. I don't want to use two labels for it (one to display name and other to display surname). So, what is the solution to my problem? Also, I have one question related to the data selection in ComboBox. Now, when I type something in the combobox it allows me to type letters that are not existing in the list. For example, I start to type "J" and instead of finishing with "D" so I would have "JD", I type "Jsomerandomtexthere". Combobox will allow that but such item does not exists on the list. In other words, I want combobox to prevent user from typing code which is not on the list of codes. Thanks in advance for your time.

    Read the article

  • SQL: Get count of rows returned from a left join

    - by Rogue Coder
    I have two tables, one called calendars and one called events. There can be multiple calendars, and multiple events in a calendar. I want to select every calendar, also getting the number of events in the calendar. Right now I have : SELECT C.*, COUNT(*) AS events FROM `calendars` AS C LEFT JOIN `events` E ON C.ID=E.calendar GROUP BY C.ID But that doesn't work. Items with no events still return 1. Any ideas?

    Read the article

  • Android browser touch events stop display being updated inc. canvas/elements - How to work around?

    - by Ed Kirk
    On some android's native browser touching the page seems to stop the display from being updated until the finger is released. This occurs for both html element based animation (switching classes) and for canvas based animation. It does not however stop normal js execution and other events are fired as normal. On devices with this problem the dolphin browser also seems effected (not firefox though). Touchstart/move both have preventDefault() fired as well as stopPropergation(), cancelBubble = true; and e.returnValue = false;. In the CSS webkit selection has also been disabled. The page will not scroll. A similar question has been asked here: Does Android browser lock DOM on touchStart? but I'd like to find out if this behaviour can be overcome, or at least to discover what devices will be effected by the problem, is it a device or version android issue? If you cannot answer the question running the demo and reporting your experience along with your device model and useragent (displayed at bottom of demo page) as a comment might help others or myself answer the question. Here is a demo and steps to reproduce the behaviour. A QR code for the link can be found here https://s3-eu-west-1.amazonaws.com/canvas-test-pd/tmp.png. https://s3-eu-west-1.amazonaws.com/canvas-test-pd/index.html The web page has a canvas at the top and a div with a background image at the bottom. Every second the canvas is cleared and a different image displayed and the div has it's class switched (both toggle between 0 and 1 pngs). Once this has toggled a few times place your finger on the canvas (the top grey box) and hold it there. Wait to see if the animation continues (sometimes it will once or twice then stops) and if there are any visual distortions. Update It seems that the Galaxy Tab running 3.2 requires handlers for touchstart/end of document, not just required divs for the screen to continue updating the display. Thanks jimpic. I'm starting to believe it's an issue caused by manufacturers skins, although this is difficult to prove.

    Read the article

  • Winforms controls and "generic" events handlers. How can I do this?

    - by Yanko Hernández Alvarez
    In the demo of the ObjectListView control there is this code (in the "Complex Example" tab page) to allow for a custom editor (a ComboBox) (Adapted to my case and edited for clarity): EventHandler CurrentEH; private void ObjectListView_CellEditStarting(object sender, CellEditEventArgs e) { if (e.Column == SomeCol) { ISomeInterface M = (e.RowObject as ObjectListView1Row).SomeObject; //(1) ComboBox cb = new ComboBox(); cb.Bounds = e.CellBounds; cb.DropDownStyle = ComboBoxStyle.DropDownList; cb.DataSource = ISomeOtherObjectCollection; cb.DisplayMember = "propertyName"; cb.DataBindings.Add("SelectedItem", M, "ISomeOtherObject", false, DataSourceUpdateMode.Never); e.Control = cb; cb.SelectedIndexChanged += CurrentEH = (object sender2, EventArgs e2) => M.ISomeOtherObject = (ISomeOtherObject)((ComboBox)sender2).SelectedValue; //(2) } } private void ObjectListView_CellEditFinishing(object sender, CellEditEventArgs e) { if (e.Column == SomeCol) { // Stop listening for change events ((ComboBox)e.Control).SelectedIndexChanged -= CurrentEH; // Any updating will have been down in the SelectedIndexChanged // event handler. // Here we simply make the list redraw the involved ListViewItem ((ObjectListView)sender).RefreshItem(e.ListViewItem); // We have updated the model object, so we cancel the auto update e.Cancel = true; } } I have too many other columns with combo editors inside objectlistviews to use a copy& paste strategy (besides, copy&paste is a serious source of bugs), so I tried to parameterize the code to keep the code duplication to a minimum. ObjectListView_CellEditFinishing is a piece of cake: HashSet<OLVColumn> cbColumns = new HashSet<OLVColumn> (new OLVColumn[] { SomeCol, SomeCol2, ...}; private void ObjectListView_CellEditFinishing(object sender, CellEditEventArgs e) { if (cbColumns.Contains(e.Column)) ... but ObjectListView_CellEditStarting is the problematic. I guess in CellEditStarting I will have to discriminate each case separately: private void ObjectListView_CellEditStarting(object sender, CellEditEventArgs e) { if (e.Column == SomeCol) // code to create the combo, put the correct list as the datasource, etc. else if (e.Column == SomeOtherCol) // code to create the combo, put the correct list as the datasource, etc. And so on. But how can I parameterize the "code to create the combo, put the correct list as the datasource, etc."? Problem lines are (1) Get SomeObject. the property NAME varies. (2) Set ISomeOtherObject, the property name varies too. The types vary too, but I can cover those cases with a generic method combined with a not so "typesafe" API (for instance, the cb.DataBindings.Add and cb.DataSource both use an object) Reflection? more lambdas? Any ideas? Any other way to do the same? PS: I want to be able to do something like this: private void ObjectListView_CellEditStarting(object sender, CellEditEventArgs e) { if (e.Column == SomeCol) SetUpCombo<ISomeInterface>(ISomeOtherObjectCollection, "propertyName", SomeObject, ISomeOtherObject); else if (e.Column == SomeOtherCol) SetUpCombo<ISomeInterface2>(ISomeOtherObject2Collection, "propertyName2", SomeObject2 ISomeOtherObject2); and so on. Or something like that. I know, parameters SomeObject and ISomeOtherObject are not real parameters per see, but you get the idea of what I want. I want not to repeat the same code skeleton again and again and again. One solution would be "preprocessor generics" like C's DEFINE, but I don't thing c# has something like that. So, does anyone have some alternate ideas to solve this?

    Read the article

  • Process.CloseMainWindow() not working

    - by gehho
    I start the Windows On-Screen-Keyboard like that: s_onScreenKeyboard = new Process(); s_onScreenKeyboard.StartInfo = new ProcessStartInfo("osk.exe"); s_onScreenKeyboard.EnableRaisingEvents = true; s_onScreenKeyboard.Exited += new EventHandler(s_onScreenKeyboard_Exited); s_onScreenKeyboard.Start(); This works fine, but when I try to stop it using the following code, it does nothing: s_onScreenKeyboard.CloseMainWindow(); if (!s_onScreenKeyboard.HasExited) { if (!s_onScreenKeyboard.WaitForExit(1000)) { s_onScreenKeyboard.Close(); //s_onScreenKeyboard.Kill(); } } When uncommenting s_onScreenKeyboard.Kill(); it is closed, but the problem is that osk.exe obviously uses another process called "msswchx.exe" which is not closed if I simply kill the OSK process. This way, I would end up with hundreds of these processes which is not what I want. Another strange thing is that the CloseMainWindow() call worked at some time, but then it suddenly did not work anymore, and I do not remember what has changed. Any ideas? Background: I am implementing an On-Screen-Keyboard for my application because it should work with a touchscreen. It is important that the keyboard layout matches the layout which is configured in Windows since the application will be shipped to many different countries. Therefore, instead of implementing a custom keyboard control with approx. 537 keyboard layouts (exaggerating a little here...), I wanted to utilize the Windows built-in On-Screen-Keyboard which adapts to the selected keyboard layout automatically, saving a lot of work for me.

    Read the article

  • MySQL Syslog Audit Plugin

    - by jonathonc
    This post shows the construction process of the Syslog Audit plugin that was presented at MySQL Connect 2012. It is based on an environment that has the appropriate development tools enabled including gcc,g++ and cmake. It also assumes you have downloaded the MySQL source code (5.5.16 or higher) and have compiled and installed the system into the /usr/local/mysql directory ready for use.  The information provided below is designed to show the different components that make up a plugin, and specifically an audit type plugin, and how it comes together to be used within the MySQL service. The MySQL Reference Manual contains information regarding the plugin API and how it can be used, so please refer there for more detailed information. The code in this post is designed to give the simplest information necessary, so handling every return code, managing race conditions etc is not part of this example code. Let's start by looking at the most basic implementation of our plugin code as seen below: /*    Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.    Author:  Jonathon Coombes    Licence: GPL    Description: An auditing plugin that logs to syslog and                 can adjust the loglevel via the system variables. */ #include <stdio.h> #include <string.h> #include <mysql/plugin_audit.h> #include <syslog.h> There is a commented header detailing copyright/licencing and meta-data information and then the include headers. The two important include statements for our plugin are the syslog.h plugin, which gives us the structures for syslog, and the plugin_audit.h include which has details regarding the audit specific plugin api. Note that we do not need to include the general plugin header plugin.h, as this is done within the plugin_audit.h file already. To implement our plugin within the current implementation we need to add it into our source code and compile. > cd /usr/local/src/mysql-5.5.28/plugin > mkdir audit_syslog > cd audit_syslog A simple CMakeLists.txt file is created to manage the plugin compilation: MYSQL_ADD_PLUGIN(audit_syslog audit_syslog.cc MODULE_ONLY) Run the cmake  command at the top level of the source and then you can compile the plugin using the 'make' command. This results in a compiled audit_syslog.so library, but currently it is not much use to MySQL as there is no level of api defined to communicate with the MySQL service. Now we need to define the general plugin structure that enables MySQL to recognise the library as a plugin and be able to install/uninstall it and have it show up in the system. The structure is defined in the plugin.h file in the MySQL source code.  /*   Plugin library descriptor */ mysql_declare_plugin(audit_syslog) {   MYSQL_AUDIT_PLUGIN,           /* plugin type                    */   &audit_syslog_descriptor,     /* descriptor handle               */   "audit_syslog",               /* plugin name                     */   "Author Name",                /* author                          */   "Simple Syslog Audit",        /* description                     */   PLUGIN_LICENSE_GPL,           /* licence                         */   audit_syslog_init,            /* init function     */   audit_syslog_deinit,          /* deinit function */   0x0001,                       /* plugin version                  */   NULL,                         /* status variables        */   NULL,                         /* system variables                */   NULL,                         /* no reserves                     */   0,                            /* no flags                        */ } mysql_declare_plugin_end; The general plugin descriptor above is standard for all plugin types in MySQL. The plugin type is defined along with the init/deinit functions and interface methods into the system for sharing information, and various other metadata information. The descriptors have an internally recognised version number so that plugins can be matched against the api on the running server. The other details are usually related to the type-specific methods and structures to implement the plugin. Each plugin has a type-specific descriptor as well which details how the plugin is implemented for the specific purpose of that plugin type. /*   Plugin type-specific descriptor */ static struct st_mysql_audit audit_syslog_descriptor= {   MYSQL_AUDIT_INTERFACE_VERSION,                        /* interface version    */   NULL,                                                 /* release_thd function */   audit_syslog_notify,                                  /* notify function      */   { (unsigned long) MYSQL_AUDIT_GENERAL_CLASSMASK |                     MYSQL_AUDIT_CONNECTION_CLASSMASK }  /* class mask           */ }; In this particular case, the release_thd function has not been defined as it is not required. The important method for auditing is the notify function which is activated when an event occurs on the system. The notify function is designed to activate on an event and the implementation will determine how it is handled. For the audit_syslog plugin, the use of the syslog feature sends all events to the syslog for recording. The class mask allows us to determine what type of events are being seen by the notify function. There are currently two major types of event: 1. General Events: This includes general logging, errors, status and result type events. This is the main one for tracking the queries and operations on the database. 2. Connection Events: This group is based around user logins. It monitors connections and disconnections, but also if somebody changes user while connected. With most audit plugins, the principle behind the plugin is to track changes to the system over time and counters can be an important part of this process. The next step is to define and initialise the counters that are used to track the events in the service. There are 3 counters defined in total for our plugin - the # of general events, the # of connection events and the total number of events.  static volatile int total_number_of_calls; /* Count MYSQL_AUDIT_GENERAL_CLASS event instances */ static volatile int number_of_calls_general; /* Count MYSQL_AUDIT_CONNECTION_CLASS event instances */ static volatile int number_of_calls_connection; The init and deinit functions for the plugin are there to be called when the plugin is activated and when it is terminated. These offer the best option to initialise the counters for our plugin: /*  Initialize the plugin at server start or plugin installation. */ static int audit_syslog_init(void *arg __attribute__((unused))) {     openlog("mysql_audit:",LOG_PID|LOG_PERROR|LOG_CONS,LOG_USER);     total_number_of_calls= 0;     number_of_calls_general= 0;     number_of_calls_connection= 0;     return(0); } The init function does a call to openlog to initialise the syslog functionality. The parameters are the service to log under ("mysql_audit" in this case), the syslog flags and the facility for the logging. Then each of the counters are initialised to zero and a success is returned. If the init function is not defined, it will return success by default. /*  Terminate the plugin at server shutdown or plugin deinstallation. */ static int audit_syslog_deinit(void *arg __attribute__((unused))) {     closelog();     return(0); } The deinit function will simply close our syslog connection and return success. Note that the syslog functionality is part of the glibc libraries and does not require any external factors.  The function names are what we define in the general plugin structure, so these have to match otherwise there will be errors. The next step is to implement the event notifier function that was defined in the type specific descriptor (audit_syslog_descriptor) which is audit_syslog_notify. /* Event notifier function */ static void audit_syslog_notify(MYSQL_THD thd __attribute__((unused)), unsigned int event_class, const void *event) { total_number_of_calls++; if (event_class == MYSQL_AUDIT_GENERAL_CLASS) { const struct mysql_event_general *event_general= (const struct mysql_event_general *) event; number_of_calls_general++; syslog(audit_loglevel,"%lu: User: %s Command: %s Query: %s\n", event_general->general_thread_id, event_general->general_user, event_general->general_command, event_general->general_query ); } else if (event_class == MYSQL_AUDIT_CONNECTION_CLASS) { const struct mysql_event_connection *event_connection= (const struct mysql_event_connection *) event; number_of_calls_connection++; syslog(audit_loglevel,"%lu: User: %s@%s[%s] Event: %d Status: %d\n", event_connection->thread_id, event_connection->user, event_connection->host, event_connection->ip, event_connection->event_subclass, event_connection->status ); } }   In the case of an event, the notifier function is called. The first step is to increment the total number of events that have occurred in our database.The event argument is then cast into the appropriate event structure depending on the class type, of general event or connection event. The event type counters are incremented and details are sent via the syslog() function out to the system log. There are going to be different line formats and information returned since the general events have different data compared to the connection events, even though some of the details overlap, for example, user, thread id, host etc. On compiling the code now, there should be no errors and the resulting audit_syslog.so can be loaded into the server and ready to use. Log into the server and type: mysql> INSTALL PLUGIN audit_syslog SONAME 'audit_syslog.so'; This will install the plugin and will start updating the syslog immediately. Note that the audit plugin attaches to the immediate thread and cannot be uninstalled while that thread is active. This means that you cannot run the UNISTALL command until you log into a different connection (thread) on the server. Once the plugin is loaded, the system log will show output such as the following: Oct  8 15:33:21 machine mysql_audit:[8337]: 87: User: root[root] @ localhost []  Command: (null)  Query: INSTALL PLUGIN audit_syslog SONAME 'audit_syslog.so' Oct  8 15:33:21 machine mysql_audit:[8337]: 87: User: root[root] @ localhost []  Command: Query  Query: INSTALL PLUGIN audit_syslog SONAME 'audit_syslog.so' Oct  8 15:33:40 machine mysql_audit:[8337]: 87: User: root[root] @ localhost []  Command: (null)  Query: show tables Oct  8 15:33:40 machine mysql_audit:[8337]: 87: User: root[root] @ localhost []  Command: Query  Query: show tables Oct  8 15:33:43 machine mysql_audit:[8337]: 87: User: root[root] @ localhost []  Command: (null)  Query: select * from t1 Oct  8 15:33:43 machine mysql_audit:[8337]: 87: User: root[root] @ localhost []  Command: Query  Query: select * from t1 It appears that two of each event is being shown, but in actuality, these are two separate event types - the result event and the status event. This could be refined further by changing the audit_syslog_notify function to handle the different event sub-types in a different manner.  So far, it seems that the logging is working with events showing up in the syslog output. The issue now is that the counters created earlier to track the number of events by type are not accessible when the plugin is being run. Instead there needs to be a way to expose the plugin specific information to the service and vice versa. This could be done via the information_schema plugin api, but for something as simple as counters, the obvious choice is the system status variables. This is done using the standard structure and the declaration: /*  Plugin status variables for SHOW STATUS */ static struct st_mysql_show_var audit_syslog_status[]= {   { "Audit_syslog_total_calls",     (char *) &total_number_of_calls,     SHOW_INT },   { "Audit_syslog_general_events",     (char *) &number_of_calls_general,     SHOW_INT },   { "Audit_syslog_connection_events",     (char *) &number_of_calls_connection,     SHOW_INT },   { 0, 0, SHOW_INT } };   The structure is simply the name that will be displaying in the mysql service, the address of the associated variables, and the data type being used for the counter. It is finished with a blank structure to show that there are no more variables. Remember that status variables may have the same name for variables from other plugin, so it is considered appropriate to add the plugin name at the start of the status variable name to avoid confusion. Looking at the status variables in the mysql client shows something like the following: mysql> show global status like "audit%"; +--------------------------------+-------+ | Variable_name                  | Value | +--------------------------------+-------+ | Audit_syslog_connection_events | 1     | | Audit_syslog_general_events    | 2     | | Audit_syslog_total_calls       | 3     | +--------------------------------+-------+ 3 rows in set (0.00 sec) The final connectivity piece for the plugin is to allow the interactive change of the logging level between the plugin and the system. This requires the ability to send changes via the mysql service through to the plugin. This is done using the system variables interface and defining a single variable to keep track of the active logging level for the facility. /* Plugin system variables for SHOW VARIABLES */ static MYSQL_SYSVAR_STR(loglevel, audit_loglevel,                         PLUGIN_VAR_RQCMDARG,                         "User can specify the log level for auditing",                         audit_loglevel_check, audit_loglevel_update, "LOG_NOTICE"); static struct st_mysql_sys_var* audit_syslog_sysvars[] = {     MYSQL_SYSVAR(loglevel),     NULL }; So now the system variable 'loglevel' is defined for the plugin and associated to the global variable 'audit_loglevel'. The check or validation function is defined to make sure that no garbage values are attempted in the update of the variable. The update function is used to save the new value to the variable. Note that the audit_syslog_sysvars structure is defined in the general plugin descriptor to associate the link between the plugin and the system and how much they interact. Next comes the implementation of the validation function and the update function for the system variable. It is worth noting that if you have a simple numeric such as integers for the variable types, the validate function is often not required as MySQL will handle the automatic check and validation of simple types. /* longest valid value */ #define MAX_LOGLEVEL_SIZE 100 /* hold the valid values */ static const char *possible_modes[]= { "LOG_ERROR", "LOG_WARNING", "LOG_NOTICE", NULL };  static int audit_loglevel_check(     THD*                        thd,    /*!< in: thread handle */     struct st_mysql_sys_var*    var,    /*!< in: pointer to system                                         variable */     void*                       save,   /*!< out: immediate result                                         for update function */     struct st_mysql_value*      value)  /*!< in: incoming string */ {     char buff[MAX_LOGLEVEL_SIZE];     const char *str;     const char **found;     int length;     length= sizeof(buff);     if (!(str= value->val_str(value, buff, &length)))         return 1;     /*         We need to return a pointer to a locally allocated value in "save".         Here we pick to search for the supplied value in an global array of         constant strings and return a pointer to one of them.         The other possiblity is to use the thd_alloc() function to allocate         a thread local buffer instead of the global constants.     */     for (found= possible_modes; *found; found++)     {         if (!strcmp(*found, str))         {             *(const char**)save= *found;             return 0;         }     }     return 1; } The validation function is simply to take the value being passed in via the SET GLOBAL VARIABLE command and check if it is one of the pre-defined values allowed  in our possible_values array. If it is found to be valid, then the value is assigned to the save variable ready for passing through to the update function. static void audit_loglevel_update(     THD*                        thd,        /*!< in: thread handle */     struct st_mysql_sys_var*    var,        /*!< in: system variable                                             being altered */     void*                       var_ptr,    /*!< out: pointer to                                             dynamic variable */     const void*                 save)       /*!< in: pointer to                                             temporary storage */ {     /* assign the new value so that the server can read it */     *(char **) var_ptr= *(char **) save;     /* assign the new value to the internal variable */     audit_loglevel= *(char **) save; } Since all the validation has been done already, the update function is quite simple for this plugin. The first part is to update the system variable pointer so that the server can read the value. The second part is to update our own global plugin variable for tracking the value. Notice that the save variable is passed in as a void type to allow handling of various data types, so it must be cast to the appropriate data type when assigning it to the variables. Looking at how the latest changes affect the usage of the plugin and the interaction within the server shows: mysql> show global variables like "audit%"; +-----------------------+------------+ | Variable_name         | Value      | +-----------------------+------------+ | audit_syslog_loglevel | LOG_NOTICE | +-----------------------+------------+ 1 row in set (0.00 sec) mysql> set global audit_syslog_loglevel="LOG_ERROR"; Query OK, 0 rows affected (0.00 sec) mysql> show global status like "audit%"; +--------------------------------+-------+ | Variable_name                  | Value | +--------------------------------+-------+ | Audit_syslog_connection_events | 1     | | Audit_syslog_general_events    | 11    | | Audit_syslog_total_calls       | 12    | +--------------------------------+-------+ 3 rows in set (0.00 sec) mysql> show global variables like "audit%"; +-----------------------+-----------+ | Variable_name         | Value     | +-----------------------+-----------+ | audit_syslog_loglevel | LOG_ERROR | +-----------------------+-----------+ 1 row in set (0.00 sec)   So now we have a plugin that will audit the events on the system and log the details to the system log. It allows for interaction to see the number of different events within the server details and provides a mechanism to change the logging level interactively via the standard system methods of the SET command. A more complex auditing plugin may have more detailed code, but each of the above areas is what will be involved and simply expanded on to add more functionality. With the above skeleton code, it is now possible to create your own audit plugins to implement your own auditing requirements. If, however, you are not of the coding persuasion, then you could always consider the option of the MySQL Enterprise Audit plugin that is available to purchase.

    Read the article

  • How to future-proof my touch-enabled web application?

    - by Rice Flour Cookies
    I recently went out and purchased a touch-screen monitor with the intention of learning how to program touch-enabled web applications. I had reviewed the MDN documentation about touch events, as well as the W3C specification. To get started, I wrote a very short test page with two event handlers: one for the mousedown event and one for the touchstart event. I fired up the web page in IE and touched the document and found that only the mousedown event fired. I saw the same behavior with Firefox, only to find out later that Firefox can be set to enable the touchstart event using about:config. When touch events are enabled, the touchstart event fires, but not mousedown. Chrome was even stranger: it fired both events when I touched the document: touchstart and mousedown, in that order. Only on my Android phone does it appear to be the case that only the touchstart event fires when I touch the document. I did a a Google search and ended up on two interesting pages. First, I found the page on CanIUse for touch events: http://caniuse.com/#feat=touch Can I Use clearly indicates that IE does not support touch events as of this writing, and Firefox only supports touch events if they are manually enabled. Furthermore, all four browsers I mentioned treat the touch in a completely different way. It boils down to this: IE: simulated mouse click Firefox with touch disabled: simulated mouse click Firefox with touch enabled: touch event Chrome: touch event and simulated mouse click Android: touch event What is more frustrating is that Google also found a Microsoft page called RethinkIE. RethinkIE brags about touch support in IE; as a matter of fact, one of their slogans is "Touch the Web". It links to a number of touch-based application. I followed some of these links, and as best I can tell, it's just like CanIUse described; no proper touch support; just simulated mouse clicks. The MDN (https://developer.mozilla.org/en-US/docs/Web/API/Touch) and W3C (http://www.w3.org/TR/touch-events/) documentation describe a far richer interface; an interface that doesn't just simulate mouse clicks, but keeps track of multiple touches at once, the contact area, rotation, and force of each touch, and unique identifiers for each touch so that they can be tracked individually. I don't see how simulated mouse clicks can ever touch the above described functionality, which, once again, is part of the W3C specification, although it is listed as "non-normative", meaning that a browser can claim to be standards-compliant without implementing it. (Why bother making it part of the standard, then?) What motivated my research is that I've written an HTML5 application that doesn't work on Android because Android doesn't fire mouse events. I'm now afraid to try to implement touch for my application because the browsers all behave so differently. I imagine that at some time in the future, the browsers might start handling touch similarly, but how can I tell how they might be handled in the future short of writing code to handle the behavior of each individual browser? Is it possible to write code today that will work with touch-enabled browsers for years to come? If so, how?

    Read the article

  • Designer issue in VS: Events cannot be set on the object passed to the event binding service ...

    - by serhio
    I have a little problem: the Winform control (that contains between others WPF) suddenly stopped to be displayed in Designer. Message: Events cannot be set on the object passed to the event binding service because a site associated with the object could not be located. Call Stack: at System.ComponentModel.Design.EventBindingService.EventPropertyDescriptor.SetValue(Object component, Object value) at System.ComponentModel.Design.Serialization.CodeDomSerializerBase.DeserializeAttachEventStatement(IDesignerSerializationManager manager, CodeAttachEventStatement statement) at System.ComponentModel.Design.Serialization.CodeDomSerializerBase.DeserializeStatement(IDesignerSerializationManager manager, CodeStatement statement) Where could be the problem? InitializeComponent code Private Sub InitializeComponent() Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(PlanDeLigne)) Dim Appearance1 As Infragistics.Win.Appearance = New Infragistics.Win.Appearance() Dim Appearance2 As Infragistics.Win.Appearance = New Infragistics.Win.Appearance() Dim Appearance3 As Infragistics.Win.Appearance = New Infragistics.Win.Appearance() Dim Appearance4 As Infragistics.Win.Appearance = New Infragistics.Win.Appearance() Dim Appearance5 As Infragistics.Win.Appearance = New Infragistics.Win.Appearance() Dim Appearance6 As Infragistics.Win.Appearance = New Infragistics.Win.Appearance() Dim Appearance7 As Infragistics.Win.Appearance = New Infragistics.Win.Appearance() Dim Appearance8 As Infragistics.Win.Appearance = New Infragistics.Win.Appearance() Dim Appearance9 As Infragistics.Win.Appearance = New Infragistics.Win.Appearance() Dim Appearance10 As Infragistics.Win.Appearance = New Infragistics.Win.Appearance() Dim Appearance11 As Infragistics.Win.Appearance = New Infragistics.Win.Appearance() Dim Appearance12 As Infragistics.Win.Appearance = New Infragistics.Win.Appearance() Me.mnbMenu = New System.Windows.Forms.ToolStrip() Me.mncMode = New System.Windows.Forms.ToolStripComboBox() Me.mnbSeparator1 = New System.Windows.Forms.ToolStripSeparator() Me.mnbAdd = New System.Windows.Forms.ToolStripButton() Me.mnbDelete = New System.Windows.Forms.ToolStripButton() Me.mnbSeparator2 = New System.Windows.Forms.ToolStripSeparator() Me.mnbDropDownAction = New System.Windows.Forms.ToolStripDropDownButton() Me.mnbDropDownActionSens = New System.Windows.Forms.ToolStripMenuItem() Me.mnbDropDownActionSeparator1 = New System.Windows.Forms.ToolStripSeparator() Me.mnbDropDownActionDistances = New System.Windows.Forms.ToolStripMenuItem() Me.mnbDropDownActionSeparator2 = New System.Windows.Forms.ToolStripSeparator() Me.mnbDropDownActionArretsPhysiques = New System.Windows.Forms.ToolStripMenuItem() Me.mnbSeparator3 = New System.Windows.Forms.ToolStripSeparator() Me.mnbSelectionZoom = New System.Windows.Forms.ToolStripButton() Me.mnbCancelZoom = New System.Windows.Forms.ToolStripButton() Me.mnbSeparator4 = New System.Windows.Forms.ToolStripSeparator() Me.mnbParametrage = New System.Windows.Forms.ToolStripButton() Me.mncSPlacerArret = New System.Windows.Forms.ToolStripMenuItem() Me.mncSSeparator1 = New System.Windows.Forms.ToolStripSeparator() Me.mncSImage = New System.Windows.Forms.ToolStripMenuItem() Me.mncSDefinirLastArret = New System.Windows.Forms.ToolStripMenuItem() Me.mncSSeparator2 = New System.Windows.Forms.ToolStripSeparator() Me.mncSSupprimerArrets = New System.Windows.Forms.ToolStripMenuItem() Me.mncSInsererArret = New System.Windows.Forms.ToolStripMenuItem() Me.mncSSeparator3 = New System.Windows.Forms.ToolStripSeparator() Me.mncSInformations = New System.Windows.Forms.ToolStripMenuItem() Me.mncSSupprimerSegment = New System.Windows.Forms.ToolStripMenuItem() Me.mncSSeparator4 = New System.Windows.Forms.ToolStripSeparator() Me.mncSBatirTroncon = New System.Windows.Forms.ToolStripMenuItem() Me.mncTInformations = New System.Windows.Forms.ToolStripMenuItem() Me.mncTDistances = New System.Windows.Forms.ToolStripMenuItem() Me.mncTSeparator1 = New System.Windows.Forms.ToolStripSeparator() Me.mncTTempsDeParcours = New System.Windows.Forms.ToolStripMenuItem() Me.mncTSeparator2 = New System.Windows.Forms.ToolStripSeparator() Me.mncTCreerSensInverse = New System.Windows.Forms.ToolStripMenuItem() Me.mncTSeparator3 = New System.Windows.Forms.ToolStripSeparator() Me.mncTSupprimerTroncon = New System.Windows.Forms.ToolStripMenuItem() Me.mncTBatirItineraire = New System.Windows.Forms.ToolStripMenuItem() Me.mncIInformations = New System.Windows.Forms.ToolStripMenuItem() Me.mncISeparator1 = New System.Windows.Forms.ToolStripSeparator() Me.mncISupprimerItineraire = New System.Windows.Forms.ToolStripMenuItem() Me.SplitContainer = New System.Windows.Forms.SplitContainer() Me.ElementHost1 = New System.Windows.Forms.Integration.ElementHost() Me._StopsCanvas = New Keolis.ctlWpfPlanDeLigne.StopsCanvas() Me.lblTitreCreation = New Keolis.ctlComponents.Label() Me.Panel1 = New System.Windows.Forms.Panel() Me.btnOk = New Keolis.ctlComponents.Button() Me.btnAnnuler = New Keolis.ctlComponents.Button() Me.grdCreation = New Keolis.ctlWinGrid.WinGrid() Me.mnbMenu.SuspendLayout() CType(Me.SplitContainer, System.ComponentModel.ISupportInitialize).BeginInit() Me.SplitContainer.Panel1.SuspendLayout() Me.SplitContainer.Panel2.SuspendLayout() Me.SplitContainer.SuspendLayout() Me.Panel1.SuspendLayout() CType(Me.grdCreation, System.ComponentModel.ISupportInitialize).BeginInit() Me.SuspendLayout() ' 'mnbMenu ' Me.mnbMenu.GripStyle = System.Windows.Forms.ToolStripGripStyle.Hidden Me.mnbMenu.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.mncMode, Me.mnbSeparator1, Me.mnbAdd, Me.mnbDelete, Me.mnbSeparator2, Me.mnbDropDownAction, Me.mnbSeparator3, Me.mnbSelectionZoom, Me.mnbCancelZoom, Me.mnbSeparator4, Me.mnbParametrage}) Me.mnbMenu.Location = New System.Drawing.Point(0, 0) Me.mnbMenu.Name = "mnbMenu" Me.mnbMenu.Size = New System.Drawing.Size(605, 25) Me.mnbMenu.TabIndex = 2 ' 'mncMode ' Me.mncMode.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList Me.mncMode.Name = "mncMode" Me.mncMode.Size = New System.Drawing.Size(121, 25) Me.mncMode.ToolTipText = "Mode du plan de ligne" ' 'mnbSeparator1 ' Me.mnbSeparator1.AutoSize = False Me.mnbSeparator1.Name = "mnbSeparator1" Me.mnbSeparator1.Size = New System.Drawing.Size(20, 25) ' 'mnbAdd ' Me.mnbAdd.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image Me.mnbAdd.Image = CType(resources.GetObject("mnbAdd.Image"), System.Drawing.Image) Me.mnbAdd.ImageTransparentColor = System.Drawing.Color.Magenta Me.mnbAdd.Name = "mnbAdd" Me.mnbAdd.Size = New System.Drawing.Size(23, 22) Me.mnbAdd.Text = "Création Tronçon / Itinéraire" ' 'mnbDelete ' Me.mnbDelete.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image Me.mnbDelete.Image = CType(resources.GetObject("mnbDelete.Image"), System.Drawing.Image) Me.mnbDelete.ImageTransparentColor = System.Drawing.Color.Magenta Me.mnbDelete.Name = "mnbDelete" Me.mnbDelete.Size = New System.Drawing.Size(23, 22) Me.mnbDelete.Text = "Supprimer les éléments sélectionnés" ' 'mnbSeparator2 ' Me.mnbSeparator2.AutoSize = False Me.mnbSeparator2.Name = "mnbSeparator2" Me.mnbSeparator2.Size = New System.Drawing.Size(20, 25) ' 'mnbDropDownAction ' Me.mnbDropDownAction.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image Me.mnbDropDownAction.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.mnbDropDownActionSens, Me.mnbDropDownActionSeparator1, Me.mnbDropDownActionDistances, Me.mnbDropDownActionSeparator2, Me.mnbDropDownActionArretsPhysiques}) Me.mnbDropDownAction.Image = CType(resources.GetObject("mnbDropDownAction.Image"), System.Drawing.Image) Me.mnbDropDownAction.ImageTransparentColor = System.Drawing.Color.Magenta Me.mnbDropDownAction.Name = "mnbDropDownAction" Me.mnbDropDownAction.Size = New System.Drawing.Size(29, 22) Me.mnbDropDownAction.Text = "Action sur le plan de ligne" ' 'mnbDropDownActionSens ' Me.mnbDropDownActionSens.Checked = True Me.mnbDropDownActionSens.CheckOnClick = True Me.mnbDropDownActionSens.CheckState = System.Windows.Forms.CheckState.Checked Me.mnbDropDownActionSens.Name = "mnbDropDownActionSens" Me.mnbDropDownActionSens.Size = New System.Drawing.Size(222, 22) Me.mnbDropDownActionSens.Text = "Afficher le sens" ' 'mnbDropDownActionSeparator1 ' Me.mnbDropDownActionSeparator1.Name = "mnbDropDownActionSeparator1" Me.mnbDropDownActionSeparator1.Size = New System.Drawing.Size(219, 6) ' 'mnbDropDownActionDistances ' Me.mnbDropDownActionDistances.Checked = True Me.mnbDropDownActionDistances.CheckOnClick = True Me.mnbDropDownActionDistances.CheckState = System.Windows.Forms.CheckState.Checked Me.mnbDropDownActionDistances.Name = "mnbDropDownActionDistances" Me.mnbDropDownActionDistances.Size = New System.Drawing.Size(222, 22) Me.mnbDropDownActionDistances.Text = "Afficher les distances" ' 'mnbDropDownActionSeparator2 ' Me.mnbDropDownActionSeparator2.Name = "mnbDropDownActionSeparator2" Me.mnbDropDownActionSeparator2.Size = New System.Drawing.Size(219, 6) ' 'mnbDropDownActionArretsPhysiques ' Me.mnbDropDownActionArretsPhysiques.Checked = True Me.mnbDropDownActionArretsPhysiques.CheckOnClick = True Me.mnbDropDownActionArretsPhysiques.CheckState = System.Windows.Forms.CheckState.Checked Me.mnbDropDownActionArretsPhysiques.Name = "mnbDropDownActionArretsPhysiques" Me.mnbDropDownActionArretsPhysiques.Size = New System.Drawing.Size(222, 22) Me.mnbDropDownActionArretsPhysiques.Text = "Afficher les arrêts physiques" ' 'mnbSeparator3 ' Me.mnbSeparator3.AutoSize = False Me.mnbSeparator3.Name = "mnbSeparator3" Me.mnbSeparator3.Size = New System.Drawing.Size(20, 25) ' 'mnbSelectionZoom ' Me.mnbSelectionZoom.CheckOnClick = True Me.mnbSelectionZoom.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image Me.mnbSelectionZoom.Image = CType(resources.GetObject("mnbSelectionZoom.Image"), System.Drawing.Image) Me.mnbSelectionZoom.ImageTransparentColor = System.Drawing.Color.Magenta Me.mnbSelectionZoom.Name = "mnbSelectionZoom" Me.mnbSelectionZoom.Size = New System.Drawing.Size(23, 22) Me.mnbSelectionZoom.Text = "Zoom par sélection" ' 'mnbCancelZoom ' Me.mnbCancelZoom.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image Me.mnbCancelZoom.Image = CType(resources.GetObject("mnbCancelZoom.Image"), System.Drawing.Image) Me.mnbCancelZoom.ImageTransparentColor = System.Drawing.Color.Magenta Me.mnbCancelZoom.Name = "mnbCancelZoom" Me.mnbCancelZoom.Size = New System.Drawing.Size(23, 22) Me.mnbCancelZoom.Text = "Annuler le zoom" ' 'mnbSeparator4 ' Me.mnbSeparator4.AutoSize = False Me.mnbSeparator4.Name = "mnbSeparator4" Me.mnbSeparator4.Size = New System.Drawing.Size(20, 25) ' 'mnbParametrage ' Me.mnbParametrage.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image Me.mnbParametrage.Image = CType(resources.GetObject("mnbParametrage.Image"), System.Drawing.Image) Me.mnbParametrage.ImageTransparentColor = System.Drawing.Color.Magenta Me.mnbParametrage.Name = "mnbParametrage" Me.mnbParametrage.Size = New System.Drawing.Size(23, 22) Me.mnbParametrage.Text = "Paramétrage" ' 'mncSPlacerArret ' Me.mncSPlacerArret.Name = "mncSPlacerArret" Me.mncSPlacerArret.Size = New System.Drawing.Size(216, 22) Me.mncSPlacerArret.Text = "Placer un arrêt" ' 'mncSSeparator1 ' Me.mncSSeparator1.Name = "mncSSeparator1" Me.mncSSeparator1.Size = New System.Drawing.Size(213, 6) ' 'mncSImage ' Me.mncSImage.Name = "mncSImage" Me.mncSImage.Size = New System.Drawing.Size(216, 22) Me.mncSImage.Text = "Image..." ' 'mncSDefinirLastArret ' Me.mncSDefinirLastArret.Name = "mncSDefinirLastArret" Me.mncSDefinirLastArret.Size = New System.Drawing.Size(216, 22) Me.mncSDefinirLastArret.Text = "Définir comme dernier arrêt" ' 'mncSSeparator2 ' Me.mncSSeparator2.Name = "mncSSeparator2" Me.mncSSeparator2.Size = New System.Drawing.Size(213, 6) ' 'mncSSupprimerArrets ' Me.mncSSupprimerArrets.Name = "mncSSupprimerArrets" Me.mncSSupprimerArrets.Size = New System.Drawing.Size(216, 22) Me.mncSSupprimerArrets.Text = "Supprimer le ou les arrêts" ' 'mncSInsererArret ' Me.mncSInsererArret.Name = "mncSInsererArret" Me.mncSInsererArret.Size = New System.Drawing.Size(216, 22) Me.mncSInsererArret.Text = "Insérer un arrêt" ' 'mncSSeparator3 ' Me.mncSSeparator3.Name = "mncSSeparator3" Me.mncSSeparator3.Size = New System.Drawing.Size(213, 6) ' 'mncSInformations ' Me.mncSInformations.Name = "mncSInformations" Me.mncSInformations.Size = New System.Drawing.Size(216, 22) Me.mncSInformations.Text = "Modifier les informations" ' 'mncSSupprimerSegment ' Me.mncSSupprimerSegment.Name = "mncSSupprimerSegment" Me.mncSSupprimerSegment.Size = New System.Drawing.Size(216, 22) Me.mncSSupprimerSegment.Text = "Supprimer le segment" ' 'mncSSeparator4 ' Me.mncSSeparator4.Name = "mncSSeparator4" Me.mncSSeparator4.Size = New System.Drawing.Size(213, 6) ' 'mncSBatirTroncon ' Me.mncSBatirTroncon.Name = "mncSBatirTroncon" Me.mncSBatirTroncon.Size = New System.Drawing.Size(216, 22) Me.mncSBatirTroncon.Text = "Bâtir un tronçon" ' 'mncTInformations ' Me.mncTInformations.Name = "mncTInformations" Me.mncTInformations.Size = New System.Drawing.Size(201, 22) Me.mncTInformations.Text = "Modifier les informations" ' 'mncTDistances ' Me.mncTDistances.Name = "mncTDistances" Me.mncTDistances.Size = New System.Drawing.Size(201, 22) Me.mncTDistances.Text = "Modifier les distances" ' 'mncTSeparator1 ' Me.mncTSeparator1.Name = "mncTSeparator1" Me.mncTSeparator1.Size = New System.Drawing.Size(198, 6) ' 'mncTTempsDeParcours ' Me.mncTTempsDeParcours.Name = "mncTTempsDeParcours" Me.mncTTempsDeParcours.Size = New System.Drawing.Size(201, 22) Me.mncTTempsDeParcours.Text = "Temps de parcours" ' 'mncTSeparator2 ' Me.mncTSeparator2.Name = "mncTSeparator2" Me.mncTSeparator2.Size = New System.Drawing.Size(198, 6) ' 'mncTCreerSensInverse ' Me.mncTCreerSensInverse.Name = "mncTCreerSensInverse" Me.mncTCreerSensInverse.Size = New System.Drawing.Size(201, 22) Me.mncTCreerSensInverse.Text = "Créer le sens inverse" ' 'mncTSeparator3 ' Me.mncTSeparator3.Name = "mncTSeparator3" Me.mncTSeparator3.Size = New System.Drawing.Size(198, 6) ' 'mncTSupprimerTroncon ' Me.mncTSupprimerTroncon.Name = "mncTSupprimerTroncon" Me.mncTSupprimerTroncon.Size = New System.Drawing.Size(201, 22) Me.mncTSupprimerTroncon.Text = "Supprimer le tronçon" ' 'mncTBatirItineraire ' Me.mncTBatirItineraire.Name = "mncTBatirItineraire" Me.mncTBatirItineraire.Size = New System.Drawing.Size(201, 22) Me.mncTBatirItineraire.Text = "Bâtir un itinéraire" ' 'mncIInformations ' Me.mncIInformations.Name = "mncIInformations" Me.mncIInformations.Size = New System.Drawing.Size(201, 22) Me.mncIInformations.Text = "Modifier les informations" ' 'mncISeparator1 ' Me.mncISeparator1.Name = "mncISeparator1" Me.mncISeparator1.Size = New System.Drawing.Size(198, 6) ' 'mncISupprimerItineraire ' Me.mncISupprimerItineraire.Name = "mncISupprimerItineraire" Me.mncISupprimerItineraire.Size = New System.Drawing.Size(201, 22) Me.mncISupprimerItineraire.Text = "Supprimer l'itinéraires" ' 'SplitContainer ' Me.SplitContainer.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D Me.SplitContainer.Dock = System.Windows.Forms.DockStyle.Fill Me.SplitContainer.FixedPanel = System.Windows.Forms.FixedPanel.Panel2 Me.SplitContainer.Location = New System.Drawing.Point(0, 25) Me.SplitContainer.Name = "SplitContainer" ' 'SplitContainer.Panel1 ' Me.SplitContainer.Panel1.AutoScroll = True Me.SplitContainer.Panel1.Controls.Add(Me.ElementHost1) ' 'SplitContainer.Panel2 ' Me.SplitContainer.Panel2.Controls.Add(Me.lblTitreCreation) Me.SplitContainer.Panel2.Controls.Add(Me.Panel1) Me.SplitContainer.Panel2.Controls.Add(Me.grdCreation) Me.SplitContainer.Panel2MinSize = 0 Me.SplitContainer.Size = New System.Drawing.Size(605, 418) Me.SplitContainer.SplitterDistance = 428 Me.SplitContainer.SplitterWidth = 2 Me.SplitContainer.TabIndex = 1 ' 'ElementHost1 ' Me.ElementHost1.Dock = System.Windows.Forms.DockStyle.Fill Me.ElementHost1.Location = New System.Drawing.Point(0, 0) Me.ElementHost1.Name = "ElementHost1" Me.ElementHost1.Size = New System.Drawing.Size(424, 414) Me.ElementHost1.TabIndex = 0 Me.ElementHost1.Text = "ElementHost1" Me.ElementHost1.Child = Me._StopsCanvas ' 'lblTitreCreation ' Me.lblTitreCreation.Anchor = CType(((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Left) _ Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) Me.lblTitreCreation.Location = New System.Drawing.Point(3, 4) Me.lblTitreCreation.Name = "lblTitreCreation" Me.lblTitreCreation.Size = New System.Drawing.Size(167, 16) Me.lblTitreCreation.TabIndex = 4 ' 'Panel1 ' Me.Panel1.AutoSize = True Me.Panel1.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink Me.Panel1.Controls.Add(Me.btnOk) Me.Panel1.Controls.Add(Me.btnAnnuler) Me.Panel1.Dock = System.Windows.Forms.DockStyle.Bottom Me.Panel1.Location = New System.Drawing.Point(0, 385) Me.Panel1.Name = "Panel1" Me.Panel1.Size = New System.Drawing.Size(171, 29) Me.Panel1.TabIndex = 3 ' 'btnOk ' Me.btnOk.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) Me.btnOk.BackColor = System.Drawing.SystemColors.Control Me.btnOk.FlatAppearance.MouseDownBackColor = System.Drawing.Color.LightSlateGray Me.btnOk.FlatAppearance.MouseOverBackColor = System.Drawing.Color.LightSteelBlue Me.btnOk.FlatStyle = System.Windows.Forms.FlatStyle.Flat Me.btnOk.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) Me.btnOk.ForeColor = System.Drawing.SystemColors.ControlText Me.btnOk.Location = New System.Drawing.Point(12, 3) Me.btnOk.Name = "btnOk" Me.btnOk.Size = New System.Drawing.Size(75, 23) Me.btnOk.TabIndex = 6 Me.btnOk.Text = "OK" Me.btnOk.UseVisualStyleBackColor = True ' 'btnAnnuler ' Me.btnAnnuler.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) Me.btnAnnuler.BackColor = System.Drawing.SystemColors.Control Me.btnAnnuler.DialogResult = System.Windows.Forms.DialogResult.Cancel Me.btnAnnuler.FlatAppearance.MouseDownBackColor = System.Drawing.Color.LightSlateGray Me.btnAnnuler.FlatAppearance.MouseOverBackColor = System.Drawing.Color.LightSteelBlue Me.btnAnnuler.FlatStyle = System.Windows.Forms.FlatStyle.Flat Me.btnAnnuler.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) Me.btnAnnuler.ForeColor = System.Drawing.SystemColors.ControlText Me.btnAnnuler.Location = New System.Drawing.Point(93, 3) Me.btnAnnuler.Name = "btnAnnuler" Me.btnAnnuler.Size = New System.Drawing.Size(75, 23) Me.btnAnnuler.TabIndex = 7 Me.btnAnnuler.Text = "Annuler" Me.btnAnnuler.UseVisualStyleBackColor = True ' 'grdCreation ' Me.grdCreation.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _ Or System.Windows.Forms.AnchorStyles.Left) _ Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) Me.grdCreation.AutoResizeColumns = False Me.grdCreation.ColumnsFiltreActif = False Appearance1.BackColor = System.Drawing.SystemColors.Window Appearance1.BorderColor = System.Drawing.SystemColors.InactiveCaption Me.grdCreation.DisplayLayout.Appearance = Appearance1 Me.grdCreation.DisplayLayout.BorderStyle = Infragistics.Win.UIElementBorderStyle.Solid Me.grdCreation.DisplayLayout.CaptionVisible = Infragistics.Win.DefaultableBoolean.[False] Appearance2.BackColor = System.Drawing.SystemColors.ActiveBorder Appearance2.BackColor2 = System.Drawing.SystemColors.ControlDark Appearance2.BackGradientStyle = Infragistics.Win.GradientStyle.Vertical Appearance2.BorderColor = System.Drawing.SystemColors.Window Me.grdCreation.DisplayLayout.GroupByBox.Appearance = Appearance2 Appearance3.ForeColor = System.Drawing.SystemColors.GrayText Me.grdCreation.DisplayLayout.GroupByBox.BandLabelAppearance = Appearance3 Me.grdCreation.DisplayLayout.GroupByBox.BorderStyle = Infragistics.Win.UIElementBorderStyle.Solid Appearance4.BackColor = System.Drawing.SystemColors.ControlLightLight Appearance4.BackColor2 = System.Drawing.SystemColors.Control Appearance4.BackGradientStyle = Infragistics.Win.GradientStyle.Horizontal Appearance4.ForeColor = System.Drawing.SystemColors.GrayText Me.grdCreation.DisplayLayout.GroupByBox.PromptAppearance = Appearance4 Me.grdCreation.DisplayLayout.MaxColScrollRegions = 1 Me.grdCreation.DisplayLayout.MaxRowScrollRegions = 1 Appearance5.BackColor = System.Drawing.SystemColors.Window Appearance5.ForeColor = System.Drawing.SystemColors.ControlText Me.grdCreation.DisplayLayout.Override.ActiveCellAppearance = Appearance5 Appearance6.BackColor = System.Drawing.SystemColors.Highlight Appearance6.ForeColor = System.Drawing.SystemColors.HighlightText Me.grdCreation.DisplayLayout.Override.ActiveRowAppearance = Appearance6 Me.grdCreation.DisplayLayout.Override.AllowRowFiltering = Infragistics.Win.DefaultableBoolean.[False] Me.grdCreation.DisplayLayout.Override.BorderStyleCell = Infragistics.Win.UIElementBorderStyle.Dotted Me.grdCreation.DisplayLayout.Override.BorderStyleRow = Infragistics.Win.UIElementBorderStyle.Dotted Appearance7.BackColor = System.Drawing.SystemColors.Window Me.grdCreation.DisplayLayout.Override.CardAreaAppearance = Appearance7 Appearance8.BorderColor = System.Drawing.Color.Silver Appearance8.TextTrimming = Infragistics.Win.TextTrimming.EllipsisCharacter Me.grdCreation.DisplayLayout.Override.CellAppearance = Appearance8 Me.grdCreation.DisplayLayout.Override.CellPadding = 0 Appearance9.BackColor = System.Drawing.SystemColors.Control Appearance9.BackColor2 = System.Drawing.SystemColors.ControlDark Appearance9.BackGradientAlignment = Infragistics.Win.GradientAlignment.Element Appearance9.BackGradientStyle = Infragistics.Win.GradientStyle.Horizontal Appearance9.BorderColor = System.Drawing.SystemColors.Window Me.grdCreation.DisplayLayout.Override.GroupByRowAppearance = Appearance9 Appearance10.TextHAlignAsString = "Left" Me.grdCreation.DisplayLayout.Override.HeaderAppearance = Appearance10 Me.grdCreation.DisplayLayout.Override.HeaderClickAction = Infragistics.Win.UltraWinGrid.HeaderClickAction.SortMulti Me.grdCreation.DisplayLayout.Override.HeaderStyle = Infragistics.Win.HeaderStyle.WindowsXPCommand Appearance11.BackColor = System.Drawing.SystemColors.Window Appearance11.BorderColor = System.Drawing.Color.Silver Me.grdCreation.DisplayLayout.Override.RowAppearance = Appearance11 Me.grdCreation.DisplayLayout.Override.RowSelectors = Infragistics.Win.DefaultableBoolean.[False] Appearance12.BackColor = System.Drawing.SystemColors.ControlLight Me.grdCreation.DisplayLayout.Override.TemplateAddRowAppearance = Appearance12 Me.grdCreation.DisplayLayout.ScrollBounds = Infragistics.Win.UltraWinGrid.ScrollBounds.ScrollToFill Me.grdCreation.DisplayLayout.ScrollStyle = Infragistics.Win.UltraWinGrid.ScrollStyle.Immediate Me.grdCreation.DisplayLayout.ViewStyleBand = Infragistics.Win.UltraWinGrid.ViewStyleBand.OutlookGroupBy Me.grdCreation.Font = New System.Drawing.Font("Times New Roman", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) Me.grdCreation.Location = New System.Drawing.Point(0, 23) Me.grdCreation.Name = "grdCreation" Me.grdCreation.PrintColumnsKey = Nothing Me.grdCreation.PrintRowsIndex = Nothing Me.grdCreation.PrintTitle = Nothing Me.grdCreation.RowsActivation = Infragistics.Win.UltraWinGrid.Activation.AllowEdit Me.grdCreation.Size = New System.Drawing.Size(175, 391) Me.grdCreation.TabIndex = 5 Me.grdCreation.Tag = "" ' 'PlanDeLigne ' Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font Me.Controls.Add(Me.SplitContainer) Me.Controls.Add(Me.mnbMenu) Me.MinimumSize = New System.Drawing.Size(605, 431) Me.Name = "PlanDeLigne" Me.Size = New System.Drawing.Size(605, 443) Me.mnbMenu.ResumeLayout(False) Me.mnbMenu.PerformLayout() Me.SplitContainer.Panel1.ResumeLayout(False) Me.SplitContainer.Panel2.ResumeLayout(False) Me.SplitContainer.Panel2.PerformLayout() CType(Me.SplitContainer, System.ComponentModel.ISupportInitialize).EndInit() Me.SplitContainer.ResumeLayout(False) Me.Panel1.ResumeLayout(False) CType(Me.grdCreation, System.ComponentModel.ISupportInitialize).EndInit() Me.ResumeLayout(False) Me.PerformLayout() End Sub

    Read the article

  • Simple CalendarStore query puts application into infinite loop!?

    - by Frank R.
    Hi, I've been looking at adding iCal support to my new application and everything seemed just fine and worked on my Mac OS X 10.6 Snow Leopard development machine without a hitch. Now it looks like depending on what is in your calendar the very simple query below: - (NSArray*) fetchCalendarEventsForNext50Minutes { NSLog(@"fetchCalendarEventsForNext50Minutes"); NSTimeInterval start = [NSDate timeIntervalSinceReferenceDate]; NSDate* startDate = [[NSDate alloc] init]; NSDate* endDate = [startDate addTimeInterval: 50.0 * 60.0]; NSPredicate *eventsForTheNext50Minutes = [CalCalendarStore eventPredicateWithStartDate:startDate endDate:endDate calendars:[[CalCalendarStore defaultCalendarStore] calendars]]; // Fetch all events for this year NSArray *events = [[CalCalendarStore defaultCalendarStore] eventsWithPredicate: eventsForTheNext50Minutes]; NSLog( @"fetch took: %f seconds", [NSDate timeIntervalSinceReferenceDate] - start ); return events; } produces a beachball thrash even with quite limited events in the calendar store. Am I missing something crucial here? The code snippet is pretty much exactly from the documentation at: // Create a predicate to fetch all events for this year NSInteger year = [[NSCalendarDate date] yearOfCommonEra]; NSDate *startDate = [[NSCalendarDate dateWithYear:year month:1 day:1 hour:0 minute:0 second:0 timeZone:nil] retain]; NSDate *endDate = [[NSCalendarDate dateWithYear:year month:12 day:31 hour:23 minute:59 second:59 timeZone:nil] retain]; NSPredicate *eventsForThisYear = [CalCalendarStore eventPredicateWithStartDate:startDate endDate:endDate calendars:[[CalCalendarStore defaultCalendarStore] calendars]]; // Fetch all events for this year NSArray *events = [[CalCalendarStore defaultCalendarStore] eventsWithPredicate:eventsForThisYear]; It looks like it has something to do with the recurrence rules, but as far as I can see there are no other ways of fetching events from the calendar store anyway. Has anybody else come across this? Best regards, Frank

    Read the article

  • Call to a member function num_rows() on a non-object

    - by Patrick
    I need to get the number of rows of a query (so I can paginate results). As I'm learning codeigniter (and OO php) I wanted to try and chain a -num_rows() to the query, but it doesn't work: //this works: $data['count'] = count($this->events->findEvents($data['date'], $data['keyword'])); //the following doesn't work and generates // Fatal Error: Call to a member function num_rows() on a non-object $data['count2'] = $this->events->findEvents($data['date'], $data['keyword'])->num_rows(); the model returns an array of objects, and I think this is the reason why I can't use a method on it. function findEvents($date, $keyword, $limit = NULL, $offset = NULL) { $data = array(); $this->db->select('events.*, venues.*, events.venue AS venue_id'); $this->db->join('venues', 'events.venue = venues.id'); if ($date) { $this->db->where('date', $date); } if ($keyword) { $this->db->like('events.description', $keyword); $this->db->or_like('venues.description', $keyword); $this->db->or_like('band', $keyword); $this->db->or_like('venues.venue', $keyword); $this->db->or_like('genre', $keyword); } $this->db->order_by('date', 'DESC'); $this->db->order_by('events.priority', 'DESC'); $this->db->limit($limit, $offset); //for pagination purposes $Q = $this->db->get('events'); if ($Q->num_rows() > 0) { foreach ($Q->result() as $row) { $data[] = $row; } } $Q->free_result(); return $data; } Is there anything that i can do to be able to use it? EG, instead of $data[] = $row; I should use another (OO) syntax?

    Read the article

< Previous Page | 185 186 187 188 189 190 191 192 193 194 195 196  | Next Page >