I'm in need of a breadcrumb bar for my software and I found something that comes very close. However I'm not well versed in Delphi and I need some changes done as well. So I'd like following .pas files converted to a proper c++ class that I can use in my Borland / Embarcadero C++ Builder 2009 compiler and that I can edit as well over time should there be need for that.
I need a c++ class for the TBreadcrumBar for which you can find the source here:
[url removed, login to view]
I need a TBreadcrumBar class. I'm *not* interested in the TDirBreadcrumBar that is alos contained in that file. So you can forget about that part. Not needed.
As mentioned, I need a class. Nicely put in a .h and a .cpp file. All declarations in the .h file, all functions in the .cpp file.
I do *not* need/want a component. I want to simply #include both .h and .cpp files to an existing project and make an instance of TBreadcrumbBar.
For instance TBreadcrumBar *MyBar = new TBreadcrumBar(Parent)
Next I want to assign the Events (functions) to MyBar and it should be ready to work.
MyBar will be put on a resizable Panel (or other control) and I want that control to be the parent (as passed via construction)
I will set MyBar->Align = alClient ; during form construction and the control will resize with the panel when that is resized
I have been playing with the existing .pas file already and it works, yet not entirely the way I want it. So make changes were needed to make sure it works in following way:
- The control should be allowed to be empty (no members yet) without failing or raising exceptions
- When a Menu under an arrow is populated already, it stays populated when the arrow click (GetBreadcrumbList) event is triggered. So that I can see it got members already and so that I don't need to repopulate with same content.
- On the other hand, when I want to give it new content, I should be able to clear the stringlist and assign new content (difference between true or false return in function)
- Same logic with the actual breadcrumbs in the bar (see above 2 points)
- I need an easy way to add an icon to the list items.
- I need an easy way to change the color (properties) of the menu items
- I want to be able to store a pointer to my objects per breadcrumb in the bar, to easily navigate to that content when clicked.
- I want a function that clears all breadcrumbs and associated menus from a certain breadcrumb index onwards. For instance if there are 4 breadcrumbs and I click in the second one, I want to be able to call a function that clears the following 2 breadcrumbs
- I want a look and feel that resembles Windows 7 If you can improve on the the current Styles, feel free to add another Style. (I think I will use Style bbsCommand if no better style is available)
- I don't want the background to be white (like an edit bar). So provide a Color member (e.g. set background color) or via a Style(?)
- I would like an icon in the far left corner, the icon representing the far right most breadcrumb (just like Windows 7), if that is possible.
- Change the static text (e.g. empty folder) to member strings of the class. Depending on the language selected by the user I will put new text in those members, and that text should be used then.
- If possible, partially hide breadcrumbs if the control becomes too small (e.g. due to resizing) but this is extra, above and beyond, if possible. Alternatively provide an event when the breadcrumbs run out of space, so that I can reduce the number of breadcrumbs by providing a new set of less breadcrumbs.
Make sure this is tested and a small Borland C++ builder 2009 project would certainly help, for me to see it in action and to make sure I can use it in Borland C++ Builder 2009.
Décerné à :
Hi, I am an experienced Delphi and C/C++ programmer. I can convert this Delphi component to C++ component. I can finish this work including your extra request in 7 days. I will be glad if you choose me. Best Regards
5 freelance ont fait une offre moyenne de 169 $ pour ce travail
hello friend i can do this job very efficiently for you i have vast industry experience and i am doing this job since 2012 in my software company