MonoTouch.Dialog's OwnerDrawnElement highlight not working - dialog

I am using MonoTouch.Dialog's OwnerDrawnElement, but it doesn't seem to allow the user to 'highlight' the cell when touching the screen. I've looked at the sample, but it doesn't show the highlighting. Any suggestions?
I noticed that TweetStation doesn't seem to user OwnerDrawnElement. Should I take another approach? I need to create a custom display cell much like TweetStation.

The OwnerDrawnElement was a contribution from the community, and it is not as sophisticated as it should be. I would not depend on it for anything beyond the trivially basic.
I strongly recommend that you create your own Element, if you want to reuse some of the code for OwnerDrawElement, you could copy and paste that.

Related

Creating a floating menu that pops like normal menu but appears at mouse position

Some context
I've recently switched to ubuntu budgie (from unity), and I am really tired of the Plank/panel menu combo. I cannot find a setting that suits me, because depending on my screen setup, there's always something in the wrong place.
I am literally unable to show the menu on certain edges if I activate auto-hide, and if I don't activate it, it's not nice at all, to the point that I have removed the plank thing altogether. (Am I having strange bugs on this OS, or is it really messy?)
My idea
With great frustrations come new ideas. I thought again about one I had in the past. I would like to have a circle menu that pops around my mouse cursor when I press a given key combination (very much the kind of thing you would find in some games).
The main use case is to get "pined" application shortcuts easily when I need them, but perhaps other things would fit well with them (commands ...).
Questions
So my questions are:
Does such a thing already exist?
If it doesn't, is it difficult to realize? (How much time, complexity, ...)
What tools/libraries are needed for such a project? I know I'll find plenty of explanations on the gnome developer website but I could really use some more help.
Since you mention a buggy behaviour on Plank, depending on the screen configuration, I suspect you are suffering from this bug. In short: Plank's returned values for the space it needs are not always correct in multi monitor setup.
A neat option to replace at least part of the functionality is Ulauncher, by default called from a shortcut, but you could trigger it from anything that is capable of running its command.
Since Ulauncher's window simply identifies in the window list, you can easily write a script to move it to the current mouse position.
In case you'd need any help in that, just leave a comment.
Not sure if you are also referring to quick access of the window list, but for that you could use the Window Previews applet, or even the Workspace Overview applet, so life without Plank is possible.

Vaadin 6 : RichTextArea and remove formatting

It's been a while that I've been reported about a problem on the software I'm on charge. I will try to explain it as much detailed as possible (Sorry if my english seems bad to you by the way ^^').
Context : The software has been developed as a Web Application (Java EE) + the framework Vaadin 6 (not 7). Since this project exists for about 4 or 5 years, the technology used isn't the newest but it's currently ok. This software is used by our internal clients so about a 70 users are using it per day. I'm on charge of this project for 9 months now.
Problem : Often, users copy some info (words, tables and so on) from others sources like a Word Document, or a PowerPoint. Then paste it into a RichTextArea. then they export all those info into an Excel (XLS) file. But sometimes, those pasted info aren't reported, or generate some HTML Tags (not understandable for most users).
What I had suggested : The RichTextArea has some tools, displayed with buttons, one of them is "Remove Formatting", if they press it, everything would be ok. But I had to agree with them, it isn't intuitive and "friendly" to use. Since they are my clients, I want to help them as much as possible.
What I want : I want that if they copy paste into the RichTextArea:
They should be invited to remove the format (with a notification on paste) by pressing the Remove Formatting Button, so I should valorize it.
Or automatically apply the remove formatting on paste.
But I couldn't achieve those solutions because I don't know how to detect the action of pasting, moreover, for the second solution, I couldn't retrieve on the code the remove formatting action.
Can you help me in order to achieve this please? Any tips that doesn't involve an other technology would be appreciated :)
Aynath
If this is still relevant:
Not sure about the first approach. But the first thing that comes to my mind is to use usual change event. When user will paste the new text, you will be notified that values were changed. Then use any tool to clean HTML and get the simple text (I suggest to use something like jsoup because it is the easiest thing). Or, if you need something specific implement your own parser/cleaner. The last thing is to simply set a new text to the current area value.
Otherwise, you can use Vaadin add-ons which may provide such information. Just look for add-ons repository for CKEditor or TinyMCE Editor

2 spaces indentation in google Docs

To prepare an exam, I have to learn coding using google docs rather than using an IDE. It may seem idiot or impratical but the teacher really insists on that. It seems that is the same thing as Google interviews for example...
So far, I really got used with using two spaces indentation (I hate using tab indendation). And I want to learn how can I do that quickly in Google docs. Is there a shortcut or a "tips" (add-on?) for that?
For example, if you have an "if-condition" starting at the position number 4 and you want to move to the following line, it can be really convenient to have the cursor position at 4. Then, you'll add two spaces to start your block at position number 6. (ALL the if block will have at least position 6). But in Docs, when you move to the following line, the cursor always start at the beginning of the line except if you use the tab indentation. And it's really shitting if you want to indent your code properly...
Do you have a solution for that please ?
I was facing the same problem.
To write Python code in google docs, my solution is:
Switch off auto-capitalization, auto-correction and smart quotes. And other auto-substitutions so that you may write code without docs like formatting.
To do this: Tools> Preferences and uncheck the above items. Screen shots attached below.
Set tab to two spaces.
Right-click on ruler on top of page. Add left-tab stop, an arrow will appear, move this tab stop to 2 spaces from left of ruler. Try adding tab in the current line and if the tab size is OK, save this formatting.
To save:
Format > Paragraph Styles > Normal Text > Update 'Normal Text' to match.
Last, to add color(synatx highlight), you may use 'code blocks extension'.
Click install.
Now, write code in docs, select the code in google doc, click on:
Add-ons > Code Block. A pop up opens up.
Choose language : 'python' for me.
Choose theme: 'atom-one-dark'
click Format.
The code looks much like IDE, and writing more code is easier too.
While I understand that sometimes a point can be made by making students do things in a way that might not seem logical, this one doesn't make any sense to me.
Students don't learn anything useful by pressing space twice instead of letting an editor or IDE do it for them.
I wonder, is it because he/she wants it delivered in Google Docs or because they want you coding that way? If it's the latter, you won't have to hide your workaround.
I can only suggest using a good text editor, I always use the excellent and free Notepad++, and copy and paste it to and from Google Docs. Your instructor will never know. In fact, I'd be hunting around to see of there was a way to access your code files directly in Google Docs from Notepad++, or to auto-sync a folder with Google docs.
Notepad++ has syntax colouring - which will save your life - and can be set to indent with tabs or spaces to whatever indent width you specify. If not using an IDE, I only use Notepad++.
Your instructor sounds like some I had, people who cross a line from being quirky but with a point to make to just being a dick. There is absolutely no point in telling a student to code only in Google docs. Google docs is a great thing, I love it, but it is by no stretch of the imagination a coding tool.
(I see that this is an aged thread, but I'll respond in case someone else with a similar issue - like this year's class for that course - comes looking for an answer.)
You could try (ab)using bulleted lists:
Insert a bulleted list
Right click on the bullet, select "More bullets..."
In the "Symbol" selection list, choose "Format & whitespace" and select one of the whitespace options as bullet char
Repeat for as many levels (of bullet sub-lists) as you think you may need in your program
Fix indentation to match whatever feels best for you
Every time you need to write a nested block, you will have to press "tab" only once, then bullet list level is kept and the indentation with it. To go back to the outer block, just press shift-tab.
However, IMHO it doesn't worth the trouble. Generally, interview question solutions are not that large and hitting spacebar a couple of times is not much of an overhead.
It's somewhat cumbersome but you can set as many tab stops as you want, and docs will move nested tabs to the next tab stop as well. For example:
You can add tab stops by right clicking on that tab bar where you want the tab stop to be and clicking Add left tab stop. You'll want to have all text in the document selected if you want the tab stop to apply everywhere.

Design pattern for Excel like workbook editor

I've been assigned to a software development task for a excel like editor. Basically the editor is working on 2-dimensional data, should have the basic editing features such as add/remove rows/columns, edit cells, undo redo etc.
Please point me some good design patterns for this type of job, Thanks!
Rather than trying to figure out all design patterns for a project in advance, wait until you run into a specific design issue and think about patterns that address that issue.
That being said, the features you list here do call out the likelyhood that you'll be wanting to use the Command pattern, so that each possible operation (add column, add row, remove column, edit cell, etc.) is supported by a command object, and enabling undo/redo for your commands with additional help from the Memento pattern.
Depends on context of use.
You could check out some common usage guidelines for tables here: http://www.oracle.com/webfolder/ux/middleware/richclient/index.html?/webfolder/ux/middleware/richclient/guidelines5/tblInteraction.html
Very often users want an Excel-like UX for table data manipulation, including actual export to Excel. You can provide for edit, sort, add row, enlarge, etc. If the user is editing in a table try that guideline. It's intended for enterprise users, so customize accordingly.
HTH

Is it ok not to have a button for a search box?

I was wondering if it was ever ok not to have a submit button (Ok, Go or Search for example) near a search box in Web pages.
I know that hitting enter is much faster and that it will perform the search.
However, is it an accepted convention for the average non tech savvy user or only for the tech community?
For example, the search box here at stackoverflow doesn't have a submit button, but I don't think anyone is complaining (and I sure don't).
On the other hand, someone suggested using Google as an example: would people notice if the buttons were removed?
I just started reading Don't Make Me Think by Steve Krug and he mentions that every search box should have something that tells me I can click on it to launch the search.
Your thoughts?
Why you should have a button:
Not everyone knows they can hit
enter, so you are leaving some less
savvy people out in the cold.
Some devices like phones and consoles may not have a way to submit without a button. The PC based browser is still dominant but don't assume it is the only way people access your site.
You may not have a button if (both conditions must be satisfied):
Your audience is tech savvy (as on SO)
You provide a visual cue that the search box actually is a search box
By adding text inside it mentioning it should be used to search
By adding an icon inside the box
Generally I would think that hitting enter is a shortcut to submit rather than the primary means.
I think it depends on your target market. If you are StackOverflow it's not too hard too think they know how to use a browser (using a back button on a browser to navigate is a similair design convention) and pressing Enter = submit for search.
However if your target market is say mechanics (no offence to mechanics) that don't use a browser/computer often then look at how Google does it (and they target the broadest scope) - they have a button to submit.
There is a middle ground you could look at, which is have a water mark like StackOverflow which tells users "Click here, type in search values and press enter to search" - or something like that (hopefully shorter) where you actually catering for users of all levels.
Whether or not a button is required depends on the audience. Here are issues to consider:
Technically oriented users may not need a button and will usually not have to think about hitting enter to submit a search request.
Conversely non-technical people may not even know it is possible to hit enter to submit a search request. So no amount of thinking might work for them.
There may be technology limitations that require a button. If you expect your audience to be browsing your form from a platform that does not provide an implicit way to submit a search request then you may need to provide an explicit button.
So essentially you need to know your audiences and determine where the edge cases lie and how critical they are. Using SO as an example, it is directed at technical users so an explicit button probably isn't required. However for a site like google where you need to be accessible to every single user using every possible platform, a clear explicit search button is a must.
"Don't Make Me Think" - so gimme a button.
There will always be someone using the application for the first time; don't make them think either. And your screen shouldn't be so fussy that it is impossible to fit the button in comfortably - that would indicate a different set of problems.
I think for a non-tech person some sort of submit button is needed. Think about people who don't use computers very much. They often click all of the buttons needed instead of hitting enter because they don't realize enter does the same thing. My opinion...if it isn't for tech guys only then it should be as simple as possible.
It depends on your audience. Steve's audience is everybody. Majority of which are so far from IT you'd need a telescope to see them. If your auditory is a single user, you might skip all clues: button (with or w/o names), in-box label.
For my own login window I leave two fields: no labels, no buttons, no javascript to tell you which one is which. But that's not a public project.
A while ago there was an article on Smashing Magazine about this.
There were some alternatives like a looking glass or another icon, but basically there is always a button, or something which represents it.
Having a button makes it clearer that the text field is a search field. Merely having the text field itself indicate this in its contents is unsufficient.

Resources