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
Related
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
Is there any way to use conditional parameters in cruise control .net.
I want if user select from select parameter(Dropdown) Dev then i will show two text box if test then one text box, depending upon condition.
Please give me any idea
The best (and only as far as I am aware) way to achieve this is to build your own custom version of CCTray, the source is freely available here https://github.com/ccnet/CruiseControl.NET.
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.
I am just getting into the WMD editor varieties out there :) Of all of them I like MarkEdit because of the ability to modify the menu items quite easily, but it doesn't do a couple of things that I really like in a couple of forks, for example, http://github.com/openlibrary/wmd.
Ideally my perfect WMD editor would:
create list items automatically on pressing return when in a list block (not implemented in MarkEdit)
allow the removal of menu items (implemented in MarkEdit)
the cheat of making a newline without the need for two spaces (implemented in MarkEdit)
As point 1. and 2. are both quite important to me, but I imagine 1. is harder to implement, I may have to use the forks such as the openlibrary-wmd rather than my preferred choice of MarkEdit.
How can I modify the menu buttons in a fork like openlibrary-wmd? The configuration function no longer seems to work as described for the original.
I recently used the markitup editor and found the skin implementation pretty useful. Each skin has its own images and styles which you can easily override if you need to. The editor is also jQuery-driven, which is nice if you're used to that syntax. Check it out
I have a wide screen and I would like to see the code I edit on multiple columns, like an article in a news paper. Ideally I would want the full screen filled with the content of the file I edit.
I am not interested in displaying multiple views of the same file in multiple windows, that's a different feature.
Have a look at Follow Mode (Mentioned in this post).
Otherwise, have you considered putting your widescreen in pivot-mode? It' quite useful both for coding and web-browsing! :)